Redis高可用--站岗的哨兵

黄生 发表于 2021/10/29 09:23:58 2021/10/29
【摘要】 Redis Sentinel就是Redis的哨兵,它的作用是为Redis服务站岗放哨,实现Redis服务的高可用性。Sentinel的功能有这些:监控(Monitoring):Sentinel不断的去检查你的主从实例是否按照预期在工作。通知(Notification):Sentinel可以通过一个api来通知系统管理员或者另外的应用程序,被监控的Redis实例有一些问题。自动故障转移(Aut...

Redis Sentinel就是Redis的哨兵,它的作用是为Redis服务站岗放哨,实现Redis服务的高可用性。

Sentinel的功能有这些:

  1. 监控(Monitoring):Sentinel不断的去检查你的主从实例是否按照预期在工作。
  2. 通知(Notification):Sentinel可以通过一个api来通知系统管理员或者另外的应用程序,被监控的Redis实例有一些问题。
  3. 自动故障转移(Automatic failover):如果一个主节点没有按照预期工作,Sentinel会开始故障转移过程,把一个从节点提升为主节点,并重新配置其他的从节点使用新的主节点,使用Redis服务的应用程序在连接的时候也被通知新的地址。
  4. 配置提供者(Configuration provider):Sentinel给客户端的服务发现提供来源:对于一个给定的服务,客户端连接到Sentinels来寻找当前主节点的地址。当故障转移发生的时候,Sentinels将报告新的地址

哨兵的启动方式有二种,一种是通过redis-sentinel可执行文件来启动,还有一种是直接使用redis-server并以Sentinel模式来启动。

不管那种方式,使用一个配置文件来运行Sentinel是必须的,这个文件用来存储当前状态,如果重启,这些状态会被重新载入。

一个健康的集群部署,至少需要的Sentinel实例是几个呢?答案是三个。

Redis源码中包含一个名为sentinel.conf的文件,是一个你可以用来配置Sentinel的示例配置文件。我们来看看配置文件怎么说,

第一行:

sentinel monitor <master-group-name> <ip> <port> <quorum>

比如:

sentinel monitor mymaster 127.0.0.1 6379 2

告诉Redis监控一个叫做mymaster的主节点,然后告诉了它的IP和端口。

quorum是仲裁机器的个数。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。