Redis之哨兵模式以及RedisTemplate的使用

Redis之哨兵模式

一 哨兵模式原理在这里插入图片描述

说明:

  1. Sentinel具有三个作用:监控,故障转移和通知
  2. Sentinel如何判断Redis是否健康
    ① 每隔1秒发送一次ping命令,如果超过一定时间没有响应则认为主观下线
    ② 如果超过一半以上的sentinel认为实例主观下线,则判断为客户下线
  3. 故障转移的步骤
    ① 选定一个slave为新的master,执行salve no one
    ② 让所有节点都执行salve of新的master节点
    ③ 修改故障节点配置为salve

二 哨兵集群搭建

  1. 在sentinel.conf文件下添加一下内容:
#端口
port 27001 
sentinel announce-ip 192.168.158.101
# mymaster 主节点名称,主节点ip 2:选举master的quorum值
sentinel monitor mymaster 192.168.158.101 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000

三 使用RedisTemplate实现

  1. 配置依赖
<dependency>
	<groupId>org.springframework.book</groupId>
	<artifactId>spring-boot-starter-data-redis</artifacId>
</dependency>
  1. 配置setinel集群配置
srping:
	redis:
		setinel:
			master:mymaster
			nodes:
				- 192.168.150.101:27001
				- 192.168.150.101:27002
				- 192.168.150.101:27003
  1. 配置读写分离
@Bean
public LettuceClientConfigurationBuilderCustomizer clientConfigurationBuilderCustomizer(){
    
    
	@Override
	public void customize(LettuceClientConfiguration.LettuceClientConfigurationbuilder clientConfugurationBuilder){
    
    
		clientConfugurationBuilder.readFrom(ReadFrom.REPLICA_PREFERRED);
	}
}

猜你喜欢

转载自blog.csdn.net/hcyxsh/article/details/131351779