Redis高可用演进(一)
原文链接:http://www.cnblogs.com/chenty/p/5152878.html
最近整理Redis,对sentinel有了更深入的理解,特地总结如下
1.主从Redis
主从redis实际上是一种主备模式,即主redis宕机后,可以切换从redis继续提供服务。
缺点:
1.人为关注Master是否宕机
2.无法完成自动切换主从
3.从节点的功能未被充分利用
主从模式:
2.sentinel
为了解决上述确定,Redis官方提供了sentinel,保证redis的高可用性
图1展示的是sentinel与redis的关系,即sentinel系统对每个redis实例(主、从)均创建两个链接:命令连接、订阅连接
命令连接:发送INFO命令,与redis保持通信
订阅连接:通过订阅连接,自动发现其他sentinel实例
图2展示一个最小规模的sentinel,即至少由三个sentinel实例组成,当被监视的redis被判断为主管下线时,需要从sentinel中选举零头sentinel来进行主从切换
优点:
1.sentienl可以监控主从节点的健康状况,降低了人为监控成本
2.sentinel可以完成主从切换
缺点:
1.从节点依然未被充分利用
2.无法做到横向扩展,提供服务器的只有一个master
sentinel模式:
图1
图2
3.分片
分片思想主要是利用一致性哈希算法,完成redis的横向扩展
1.通过zookeeper存储sentinel的配置信息
2.在客户端实现一致性哈希算法,通过路由算法决定redis命令由那个redis实例进行执行
3.通过增加shard,来分担单个shard的压力
缺点:
1.扩容时涉及到数据迁移,如果redis中只是缓存数据则方便处理,但如果有业务数据强依赖redis,则迁移时只能停机处理
2.无法解决冷热数据问题
分片模式:
下节重点:
JedisClient客户单的实现原理
Redis高可用演进(一)的更多相关文章
- Redis高可用之主从复制原理演进分析
Redis高可用之主从复制原理演进分析 在很久之前写过一篇 Redis 主从复制原理的简略分析,基本是一个笔记类文章. 一.什么是主从复制 1.1 什么是主从复制 主从复制,从名字可以看出,至少需要 ...
- Keepalived+Redis高可用部署(第二版)
更新 20150625 脚本由5个减少为4个,sh脚本指令做了精简. 修改了另外3个脚本,在日志里增加了日期显示. 新增redis数据类型,持久化,主从同步简介. 新增hiredis简介. 新增c语言 ...
- Redis 高可用集群
Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...
- sentinel监控redis高可用集群(一)
一.首先配置redis的主从同步集群. 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 ...
- Redis高可用方案----Redis主从+Sentinel+Haproxy
安装环境 这里使用三台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为6379,redis-sentinel的端口为26379. ...
- 9.Redis高可用-哨兵
9.Redis高可用-哨兵9.1 基本概念9.1.1 主从复制的问题9.1.2 高可用9.1.3 Redis Sentinel的高可用性9.2 安装和部署9.2.1 部署拓扑结构9.2.2 部署Red ...
- Windows版本redis高可用方案探究
目录 Windows版本redis高可用方案探究 前言 搭建redis主从 配置主redis-28380 配置从redis-23381 配置从redis-23382 将redis部署为服务 启动red ...
- Redis高可用详解:持久化技术及方案选择
文章摘自:https://www.cnblogs.com/kismetv/p/9137897.html 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关 ...
- 如何构建 Redis 高可用架构?
温国兵 民工哥技术之路 今天 1 .题记 Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的 API. 如今,互 ...
随机推荐
- SQL查询选修了所有课程的学生姓名
select sname from student where not exists (select * from course where not exists (select * from s ...
- MySQL基础篇(3)常用函数和运算符
一.字符串函数(索引位置都从1开始) CONCAT(S1,S2,...Sn): 连接S1,S2,...Sn为一个字符串,任何字符串与NULL进行连接的结果都是NULL INSERT(str,x,y,i ...
- 记录一些常用的python库、软件或者网址
1.数据收集 BeautifulSoup.scrapy.selenium.requests 2.数据分析 pandas.numpy.pyDD.spacy 3.数据可视化 matplotlib.seab ...
- fenby C语言 P6
printf=格式输出函数; printf=("两个相加的数字是:%d,%d,他们的和是:%d\n",a,b,c); %d整数方式输出; \n=Enter; int a=1; fl ...
- 在.NET Core 3.0中发布单个EXE文件
假设我有一个简单的“ Hello World”控制台应用程序,我想发送给朋友来运行.朋友没有安装.NET Core,所以我知道我需要为他构建一个独立的应用程序.很简单,我只需在项目目录中运行以下命令: ...
- 7、pytest -- 捕获标准输出和标准错误输出
目录 1. 标准输出/标准错误输出/标准输入的默认捕获行为 2. 修改和去使能捕获行为 2.1. 文件描述符级别的捕获行为(默认) 2.2. sys级别的捕获行为 2.3. 去使能捕获行为 3. 使用 ...
- 使用Typescript重构axios(一)——写在最前面
0.系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三)- ...
- CF480E Parking Lot(单调队列+dp然鹅并不是优化)
(全英文题面所以直接放化简题意) 题意:在一个二维平面内,初始有一些点,然后每个时间点加入一些点,对每个时间点求平面内最大的无障碍正方形 (这次的题目是真的神仙啊...) 首先,考虑暴力,如果对每一个 ...
- 磁盘冗余阵列之RAID10的配置
1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢 ...
- 1.基础篇之vue入门
为了建立高效团队,很多公司会采用全栈工程师,虽然利弊兼有,对于成本优先的创业团队,肯定是首选,特别是对.net生态圈,大部分都是小公司,就更加重要了.这里记录的是对vue的学习点滴,希望对你有所助力. ...