这篇主要基于上篇的主从模式进行搭建一个哨兵模式的小集群。
因为在主从模式中存在如果master节点挂了,整个主从集群就挂了,需要手动去重启,哨兵模式就是为了解决master挂了之后能自动选举出新的master节点,从而保证正常的读写能力。
哨兵模式在redis中是一个特殊的服务,它不提供读写服务,主要用于监控redis实例节点。该结构下redisClient会第一次访问哨兵找出redis的主节点,后续在访问就会直接访问主节点。当redis主节点发生变化时,哨兵会第一时间知道,并且通知client端。
这是哨兵模式图:
配置如下:
因为这是三台的不同机器,所以只需修改各个机器的sentinel.conf的配置文件即可。
sentinel mointor mymaster 192.168.0.130 6379 2
意思是监控130主节点 并且指明当2个sentinel认为master失效时,才真正失效。
最后一个数字 一般为 sentinel总数/2 +1 (过半)
mymaster可以随意修改,只是个名字。
三台机器启动哨兵即可。
可以在redis-cli 通过info命令查看具体的节点信息,也可以模拟主节点挂了,看看是否会出现新的master。
也可以观察sentinel.conf中最下面的节点信息。