哨兵

上一章讲到了 redis 的复制,在一主多从的架构下,从库起到了数据冗余备份和读写分离的作用。但是一旦主库发生异常,且在人工不能及时处理的情况下,就会造成严重的后果。想让人工来24小时监测服务器是万万不可能的,这辈子都不可能。但是 redis 提供了专门的工具来监测服务,那就是哨兵

作用

1、监控主从数据库是否正常运行。

2、主库出现故障时自动将从库切换为主库。

架构

单一哨兵

 

 多个哨兵:哨兵之间也会互相监控。

配置

1、建立一个配置文件,如 sentinel.conf,内容为  sentinel monitor mymaster 127.0.0.1 6379 1

  mymaster 为要监控的主库名字。自定义,仅由大小写字母、数字和“.-_”三个字符组成。

  1 表示最低通过票数。

2、启动 Sentinel 进程,将配置文件路径传递给哨兵。

  redis-sentinel /path/to/sentinel.conf

  注:只需要配置哨兵监控主库即可,哨兵会自动发现该主库的从库并监控。

过程

哨兵会定时执行下面三个操作:

1、每10秒向主从库发送 INFO 命令。

  - 获得主库的从库列表,并连接从库。

  - 获取主从库的角色。

2、每2秒向主从库的 __sentinel__:hello 频道发送自己的信息。

  - 与同样监控该库的哨兵分享配置信息,并建立哨兵之间的连接。

3、每1秒向主从库、哨兵节点发送 PING 命令。  

  - 通过是否回复 PING 来判断服务是否停止。(主从库、哨兵)

 

先简单了解,后期悟到新的来补充。

 

posted @ 2020-12-17 17:59  所见即我  阅读(162)  评论(0编辑  收藏  举报