Redis集群--故障转移
来源:互联网 发布:折半查找递归算法 编辑:程序博客网 时间:2024/05/21 09:42
Redis集群–故障转移
标签(空格分隔): Redis
举例
如果集群中的某一节点宕机会出现什么状况?我们这里假设6380宕机。
1.停止6380节点
2.我们尝试连接下集群,并且查看集群信息,发现6380的节点断开连接
3.测试集群是否可用
结论:集群中的某个节点断开之后,key值计算出来的插槽值如果刚好在这个节点上,存储数据失败!综合故障所属:集群只是用来扩展集群的存储数据量,那怎么来保障高可用呢? — 结合主从、主从从、哨兵模式
故障机制
1、 集群中的每个节点都会定期的向其它节点发送PING命令,并且通过有没有收到回复判断目标节点是否下线;
2、 集群中每一秒就会随机选择5个节点,然后选择其中最久没有响应的节点放PING命令;
3、 如果一定时间内目标节点都没有响应,那么该节点就认为目标节点疑似下线;
4、 当集群中的节点超过半数认为该目标节点疑似下线,那么该节点就会被标记为下线;
5、 当集群中的任何一个节点下线,就会导致插槽区有空档,不完整,那么该集群将不可用;
6、 如何解决上述问题?
a) 在Redis集群中可以使用主从模式实现某一个节点的高可用
b) 当该节点(master)宕机后,集群会将该节点的从数据库(slave)转变为(master)继续完成集群服务;
架构
出现故障:
所以对于Redis集群中最低配置都是三主三从。
创建三主三从集群
创建集群,指定了从库数量为1,创建顺序为主库(3个)、从库(3个):
./redis-trib.rb create --replicas 1 192.168.116.137:6379 192.168.116.137:6380 192.168.116.137:6381 192.168.116.137:6479 192.168.116.137:6480 192.168.116.137:6481
使用集群的注意事项:
1、 多键的命令操作(如MGET、MSET),如果每个键都位于同一个节点(插槽所处的节点),则可以正常支持,否则会提示错误。
2、 集群中的节点只能使用0号数据库,如果执行SELECT切换数据库会提示错误。
- Redis集群--故障转移
- Redis Sentinel实现集群节点故障转移
- Redis集群进阶-故障转移测试
- Redis Sentinel;Redis Sentinel配置;redis集群;redis故障转移
- Redis Sentinel;Redis Sentinel配置;redis集群;redis故障转移
- Redis故障转移配置;Redis Sentinel配置;redis集群
- Redis + Keepalived主从集群的搭建及故障转移
- Redis源码解析:27集群(三)主从复制、故障转移
- Spring整合Redis之集群与故障转移
- Redis Sentinel故障转移
- redis故障转移sentinel
- Redis Sentinel;Redis Sentinel配置;redis集群;redis故障转移[原创]
- SQL Server故障转移集群
- 故障转移集群的仲裁
- 故障转移集群的仲裁
- 故障转移集群的仲裁
- Redis源码解析:28集群(四)手动故障转移、从节点迁移
- redis集群故障分析
- 每日总结
- PXE网络安装
- 使用Java解析svg文件,以及将获取的Element转换成String
- Android 开启子线程简单流程
- SSO-C#跨域单点登录(一)
- Redis集群--故障转移
- bzoj1974 [Sdoi2010]代码拍卖会 循环+背包
- sql decode大於小於
- Java语法糖系列五:内部类和闭包
- jedis连接redis服务器超时
- java用poi替换导出word2007,2003文档完整代码,已经测试好
- iOS【终极方案】精准获取webView内容高度,自适应高度
- [转]二进制中1的个数[剑指offer]之python实现
- python+charm+pyq5简单使用,Connected to pydev debugger (build 171.4694.38) Process finished with exit c