概述
哨兵通过监控master,如果发现master未回复心跳包,那么会判断为主观下线,票数过半哨兵都认为master主观下线,那么确认为master客观下线,那么接下来会在多个哨兵中选择一个作为leader,去做master切换工作。切换了新的master,通知客户端连接新的master.那么问题来了,程序那边怎么知道新master地址多少?应用程序那边需要做什么改变吗?
引入依赖
//springboot项目集成redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
增加配置
//1.配置不再直接配置redis节点地址,而是配置哨兵地址
//2.master下线判断,以及选择新的master哨兵是最清楚的,所以只要保持和哨兵通信即可
//3.程序内部还是依旧直接使用 RedisTemplate
spring:
redis:
//哨兵配置
sentinel: