高可用 哨兵 官方连接 http://redis.cn/topics/sentinel.html
一套哨兵可以监控 多套主从集群
设置哨兵的配置文件:
具体内容如下:
启动server:
redis-server 6381.conf
redis-server 6382.conf --replicaof 127.0.0.1 6381
redis-server 6383.conf --replicaof 127.0.0.1 6381
启动哨兵:
/root/basic/soft/redis-6.2.1/src
哨兵可以独立为一个程序 也可以嵌入到redis中:
//redis以哨兵身份启动
[root@localhost bin]# redis-server ./26381.conf --sentinel
控制台打印出如下内容:即哨兵监控主后 哨兵自动可以知道master有几个slave。
再启动一个哨兵:
redis-server ./26382.conf --sentinel
控制台输出内容如下:输出主 从 哨兵 的信息
再启动一个哨兵:
redis-server ./26383.conf --sentinel
控制台输出内容如下:输出主 从 哨兵 的信息
主挂机后 哨兵不会立刻切换 ,原因:网络会出现延迟
过一会儿 发现三个哨兵打印日志多少不同 有多 有少
日志多的内容如下,即哨兵做的故障转移:master改为6383,6382追随6383。
具体过程:哨兵会选出新的leader 通过投票 选择让谁做master,让其他的追随这个master
哨兵会改自己的配置文件,原始内容为如下红框,后来哨兵添加了如下内容:
哨兵如何知道其他哨兵的:发布订阅
新的master是6383 哨兵会监控6383,先访问6383拿到两个从,在master上开启发布订阅,即可发现哨兵。
6383> PSUBSCRIBE * //查看所有的发布订阅