/spring-boot-starter-data-redis-read-write-separation

redis sentinel 读写分离客户端配置方案 SpringBoot starter

Primary LanguageJava

Redis Sentinel在对各个节点的监控中,如果有对应事件的发生,都会发出相应的事件消息,其中和从节点变动的事件有以下几个:

·+switch-master:切换主节点(原来的从节点晋升为主节点),说明减少了某个从节点。

·+convert-to-slave:切换从节点(原来的主节点降级为从节点),说明添加了某个从节点。

·+sdown:主观下线,说明可能某个从节点可能不可用(因为对从节点不会做客观下线),所以在实现客户端时可以采用自身策略来实现类似主观下线的功能。

·+reboot:重新启动了某个节点,如果它的角色是slave,那么说明添加了某个从节点。

所以在设计Redis Sentinel的从节点高可用时,只要能够实时掌握所有从节点的状态,把所有从节点看做一个资源池,无论是上线还是下线从节点,客户端都能及时感知到(将其从资源池中添加或者删 除),这样从节点的高可用目标就达到了。

详细请参考《Redis开发与运维》第9章 9.6.3高可用读写分离 小节的内容。