主从模式
哨兵模式
集群
主从模式:这是redis高可用的基础,哨兵模式和集群都是建立在此基础之上。
主从模式和数据库的主从模式是一样的,主负责写入,然后把写入的数据同步到从,
从节点只能读不能写,read only。
不能做高可用的切换,主节点出现故障,没有替换的主节点,所有的写入操作都将失败。
主从复制
主
1095G
重启
从
重启
哨兵模式
在主的基础之上,哨兵引入了故障的切换的模式
哨兵也是一个分布式的集群结构,对主从结构当中的每台服务器进行监控,
当出现故障时,通过投票的机制选择一个新的master。被选举出的新的master会将所有的主从节点重新连接到自己,从节点会自动同步到主,自动变成只读模式。
在配置哨兵模式的第一次的时候,我们是人工的定义好主
下载哨兵软件
主
人工定义主的服务器
2的含义:当主节点发送故障,必须要有两个从节点同意,才能进行故障迁移。
sentinel down-after-milliseconds mymaster 30000
判断服务器宕机的时间周期30000毫秒,30秒
sentinel failover-timeout mymaster 18000
故障节点的最大超时时间 18000 180秒
从
操作同上
sentinel monitor mymaster 192.168.32.41 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 18000
集群:
redis-cluster,集群是由多个节点组成,redis的数据是发布在节点中,集群的当中每个节点
主负责写,从负责读
0-16383个hash的槽位:
A-------------0-5460
hash-----key------->test1=1 test2=2 test3=3
B------- 5461-10922
C--------10923-16383
关闭保护模式
打开后台运行
开启集群的功能
设置集群的配置文件名称
设置集群的超时时间
重启
redis-cli -h 192.168.233.7 --cluster create 192.168.233.7:6379 192.168.233.14:6379 192.168.233.8:6379 192.168.233.15:6379 192.168.233.9:6379 192.168.233.16:6379 --cluster-replicas 1
--cluster-replicas 1 #表示每个主节点对应一个从节点
表示客户端尝试将这个数值保存到槽位号是9248的位置,实际槽位在14这个主机。
redis的集群模式,只是满足高可用,不能实现数据同步。
对数据同步要求很高的场景,选择redis的主从和哨兵模式