Spring data redis 与生菜客户端和 AWS elasticcache

问题描述

我有带 springboot 2.3.9.RELEASE 的生菜客户端来连接 AWS redis elasticcache 主/从。 我可以读写,但每 5000 毫秒就会抛出一个错误

该服务对我的 Pourpose 工作正常,但我想删除错误或如何知道如何修复它。

我已经阅读了很多关于它的文章,使用生菜和 AWS 配置 spring 数据 redis 的最佳方法是使用 RedisStaticMasterReplicaConfiguration 写入主服务器并从副本读取。

这是bean配置

    @Bean
    public LettuceConnectionFactory redisConnectionFactory() {

        LettuceClientConfiguration.LettuceClientConfigurationBuilder lettuceConfigBuilder = LettuceClientConfiguration.builder()
                .readFrom(ReadFrom.REPLICA_PREFERRED);
        lettuceConfigBuilder.useSsl();

        RedisStaticMasterReplicaConfiguration redisConfiguration = new RedisStaticMasterReplicaConfiguration(master,port); //master value is the Primary Endpoint value from aws elasticcache info
        redisConfiguration.addNode(replica,port); //replica value is the Reader Endpoint value from aws elasticcache info
        redisConfiguration.setPassword(password);

        return new LettuceConnectionFactory(redisConfiguration,lettuceConfigBuilder.build());
    }

当应用程序启动时,我可以读写,但每 5 秒从 RedisMessageListenerContainer 抛出一个错误

"level":"ERROR","className":"org.springframework.data.redis.listener.RedisMessageListenerContainer","message":"Connection failure occurred. Restarting subscription task after 5000 ms "

但这是 RedisMessageListenerContainer.handleSubscriptionException 的原始错误

java.lang.UnsupportedOperationException: Pub/Sub connections not supported with Master/Replica configurations

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)