gpt4 book ai didi

spring-boot - 使用 spring boot 连接被拒绝的 redis master slave

转载 作者:可可西里 更新时间:2023-11-01 11:23:49 25 4
gpt4 key购买 nike

我在端口 3824(主)和 3825(从)上设置了一个主从。但是,当我关闭 master 时,读取操作给出了连接被拒绝的异常。下面是我的配置。我怎么能保证即使我杀了master,我仍然在从slave读取。我哪里错了。

@Bean
public RedisConnectionFactory redisFactory() {

LettuceClientConfiguration config = LettuceClientConfiguration.builder().readFrom(ReadFrom.SLAVE_PREFERRED).buld();
RedisStandaloneConfiguration serverConfig = new RedisStandaloneConfiguration("localhost",3825);
LettuceConnectionFactory fact = new LettuceConnectionFactory(serverConfig, config);
return fact;
}

最佳答案

要在您的应用程序中支持高可用性,您可能需要实现 redis-sentinel .

Redis Sentinel 在传递给 RedisSentinelConfiguration 时充当您的应用程序和在一组服务器中运行的 Redis 主从节点之间的桥梁。

它将主要充当配置提供者。如果发生故障转移,Sentinels 将报告新地址

Spring Data Redis Sentinel Support :

/**
* Lettuce
*/
@Bean
public RedisConnectionFactory lettuceConnectionFactory() {
RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration()
.master("mymaster")
.sentinel("127.0.0.1", 26379)
.sentinel("127.0.0.1", 26380);
return new LettuceConnectionFactory(sentinelConfig);
}

在主节点发生故障时,当从节点提升为主节点时,所有写请求都将路由到新选出的主节点。

关于spring-boot - 使用 spring boot 连接被拒绝的 redis master slave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54717540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com