Redis的哨兵(sentinel)
redis的sentinel系统用于管理多个redis服务器实例(instance)。
哨兵适用于非集群结构的redis环境,比如:redis主从环境。
在redis集群中,节点担当了哨兵的功能,所以redis集群不需要考虑sentinel。
sentinel主要功能:
1、监控(monitoring)
sentinel会不断的检查master和slave运行状态是否正常。
2、提醒(notification)
当监控发现问题时,sentinel会通过API向管理员发送通知。
3、自动故障迁移(automatic failover)
当一个master不能正常工作时,sentinel会进行自动故障迁移操作,
它会将slave提升为master,并让其他slave改为复制新的master。
当客户端访问故障的master时,也会向客户端返回新的master地址。
主观认为宕机:(初步判断宕机)
每个哨兵会向其他sentinel、master、slave定时发送消息,确认对方是否存活,
如果发现对方在指定时间内未响应,则暂时认为对方宕机。(主观认为宕机)
客观认为宕机:(确认宕机)
若哨兵群中的多数sentinel都报告某一master未响应,则确认该master宕机。(客观宕机)
通过vote算法,在其他salve节点中,选举一台提升为master,并自动修改配置。
原文地址:http://blog.51cto.com/13690439/2120639
时间: 2024-10-07 02:34:04