115分布式电商项目 - Redis集群(故障转移)
1.故障机制
1、集群中的每个节点都会定期的向其它节点发送PING命令,并且通过有没有收到回复判断目标节点是否下线;
2、集群中每一秒就会随机选择5个节点,然后选择其中最久没有响应的节点放PING命令;
3、如果一定时间内目标节点都没有响应,那么该节点就认为目标节点疑似下线;
4、当集群中的节点超过半数认为该目标节点疑似下线,那么该节点就会被标记为下线;
5、当集群中的任何一个节点下线,就会导致插槽区有空档,不完整,那么该集群将不可用;
如何解决上述问题?
1.在Redis集群中可以使用主从模式实现某一个节点的高可用。
2.当该节点(master)宕机后,集群会将该节点的从数据库(slave)转变为(master)继续完成集群服务;
2.集群中的主从复制架构
架构:
出现故障:
3.创建主从集群
需要启动6个redis实例,分别是:
6379(主) 6479(从)
6380(主) 6480(从)
6381(主) 6481(从)
启动redis实例:
cd 6379/ && redis-server ./redis.conf && cd ..
cd 6380/ && redis-server ./redis.conf && cd ..
cd 6381/ && redis-server ./redis.conf && cd ..
cd 6479/ && redis-server ./redis.conf && cd ..
cd 6480/ && redis-server ./redis.conf && cd ..
cd 6481/ && redis-server ./redis.conf && cd ..
创建集群,指定了从库数量为1,创建顺序为主库(3个)、从库(3个):
./redis-trib.rb create --replicas 1 192.168.56.102:6379 192.168.56.102:6380 192.168.56.102:6381 192.168.56.102:6479 192.168.56.102:6480 192.168.56.102:6481
创建成功!查看集群信息:
4.测试
保存、读取数据OK!
查看下6480的从库数据:
看到从6480查看数据也是被重定向到6380.
说明集群一切运行OK!
5.测试集群中slave节点宕机
我们将6480节点kill掉,查看情况。
查看集群情况:
发现6480节点不可用。
那么整个集群可用吗?
发现集群可用,可见从数据库宕机不会影响集群正常服务。
恢复6480服务:
测试6480中的数据:
看到已经更新成最新数据。
6.测试集群中master宕机
假设6381宕机:
查看集群情况:
发现:
1、6381节点失效不可用
2、6481节点从slave转换为master
测试集群是否可用:
集群可用。
恢复6381:
发现:
1、6381节点可用
2、6481依然是主节点
3、6381成为6481的从数据库
相关文章
- redis集群与分片(2)-Redis Cluster集群的搭建与实践
- redis实战笔记(6)-第6章 使用 Redis构建应用程序组件
- redis实战笔记(1)-第1章 初识Redis
- Redis笔记整理
- [Redis]windows下redis的安装和启动
- Another Redis Desktop Manager 链接redis,redis集群链接后用显示不全的问题
- redis(一) 安装以及基本数据类型操作
- 淘东电商项目(21) -Redis如何与数据库状态保持一致?
- 116分布式电商项目 - Redis集群(内存不足的问题)
- Redis开发运维实践上线部署规划之网卡rps设置
- 《Redis官方教程》-Redis的配置
- Redis——maven、spring、jedis快速搭建redis工程
- 宕机后,Redis如何实现快速恢复
- redis使用CacheCloud搭建(Redis云平台)搭建集群监控等等
- Redis的HyperLogLog
- Redis源码-BFS方式浏览main函数
- Redis Sadd 命令
- Spring集成Redis集群(含spring集成redis代码)
- Shiro Redis注入失败,shiro导致redis不能注入
- linux 之 redis单机安装
- Redis基础:特点(内存运行、原子性、持久化)、5种基本数据类型与3种特殊数据类型、redis命令、发布订阅机制、事务(单条命令原子性事务不是原子性)、数据备份与恢复、安全
- 【Redis入门笔记 01】redis 安装 & 配置
- Redis 常用数据类型之 zset
- php redis操作具体解释
- 5.2 spring集成redis
- redis搭建集群模式、Cluster模式(6节点,3主3从集群模式,添加删除节点)