主从复制的优点:
1.之前有讲到怎么用docker搭建redis的主从复制模式,主从复制给master节点上的数据提供备份,当主节点的服务器挂掉后,从节点有一个完整的数据。
2.从节点可以给主节点实现分流的功能,将读取的操作作用到从节点上,主节点只是用于写的操作,这样可以极大的减轻和平衡redis服务器的压力。
主从负责的问题:
1.手动故障转移:当master节点宕机后,需要手动的选出新的master和slave。
2.写能力和存储能力受限:
redis sentinel也就是哨兵,这是一个特殊的redis节点,它是用来监控master节点的状态及相关的统计信息。当master节点宕机之后,sentinel节点会从该master下面的slave节点中选举一个作为新的master节点。
redis sentinel的工作过程如下:
1.多个sentinel发现并确认master有问题。
2.选举出一个sentinel作为领导。
3.选举出一个slave作为master。
4.通知其余slave成为新的master的slave。
5.通知客户端主从变化
6.等待老的master复活成为新master的slave。
redis master节点和slave节点的配置详情可参考上一篇文章
docker安装redis主从复制模式
sentinel 主要配置如下:
port ${port}
#mastername是master节点的名字
#最后这个2代表如果有2个sentinel节点发现master节点有问题则判断master节点出现问题
sentinel monitor mastername ip port 2
#如果在30000毫秒之内master节点无反应则认为master节点出现问题
sentinel down-after-milliseconds mastername 30000
#这个1代表在发生master节点切换时最多可以有多少个slave节点同时对新的master继续同步
sentinel parallel-syncs mastername 1
#
sentinel failover-timeout mastername 180000
启动sentinel节点
在这里插入代码片
输入info可以查看sentinel节点信息
可以看到该sentinel节点监控到的master有1个,状态为ok,包括这个master节点下面有2个slave节点也能显示,证明redis sentinel模式配置成功



