Redis高可用--站岗的哨兵
【摘要】 Redis Sentinel就是Redis的哨兵,它的作用是为Redis服务站岗放哨,实现Redis服务的高可用性。Sentinel的功能有这些:监控(Monitoring):Sentinel不断的去检查你的主从实例是否按照预期在工作。通知(Notification):Sentinel可以通过一个api来通知系统管理员或者另外的应用程序,被监控的Redis实例有一些问题。自动故障转移(Aut...
Redis Sentinel就是Redis的哨兵,它的作用是为Redis服务站岗放哨,实现Redis服务的高可用性。
Sentinel的功能有这些:
- 监控(Monitoring):Sentinel不断的去检查你的主从实例是否按照预期在工作。
- 通知(Notification):Sentinel可以通过一个api来通知系统管理员或者另外的应用程序,被监控的Redis实例有一些问题。
- 自动故障转移(Automatic failover):如果一个主节点没有按照预期工作,Sentinel会开始故障转移过程,把一个从节点提升为主节点,并重新配置其他的从节点使用新的主节点,使用Redis服务的应用程序在连接的时候也被通知新的地址。
- 配置提供者(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)