Redis Sentinel在对各个节点的监控中,如果有对应事件的发生,都会发出相应的事件消息,其中和从节点变动的事件有以下几个:
·+switch-master:切换主节点(原来的从节点晋升为主节点),说明减少了某个从节点。
·+convert-to-slave:切换从节点(原来的主节点降级为从节点),说明添加了某个从节点。
·+sdown:主观下线,说明可能某个从节点可能不可用(因为对从节点不会做客观下线),所以在实现客户端时可以采用自身策略来实现类似主观下线的功能。
·+reboot:重新启动了某个节点,如果它的角色是slave,那么说明添加了某个从节点。
所以在设计Redis Sentinel的从节点高可用时,只要能够实时掌握所有从节点的状态,把所有从节点看做一个资源池,无论是上线还是下线从节点,客户端都能及时感知到(将其从资源池中添加或者删 除),这样从节点的高可用目标就达到了。
详细请参考《Redis开发与运维》第9章 9.6.3高可用读写分离 小节的内容。