苍老的岁月 2021-09-27 22:39 采纳率: 50%
浏览 171
已结题

k8s部署Redis集群,节点重启pod IP变化,Java代码不能自动连接到新的pod IP,如何自动刷新?

k8s部署redis集群,节点重启pod ip变化,java代码不能自动获取到新的pod ip,导致redis集群不可用。
技术栈:spring cloud
目前是通过JedisCluster获取到redis集群的节点,再配置到redis集群。

try (JedisCluster jedisCluster = new JedisCluster(ipAndPortSet, 10000, 10000, RedisConstants.MAX_RE_DIRECTIONS, password, new JedisPoolConfig())) {
    Map<String, JedisPool> jedisPoolMap = jedisCluster.getClusterNodes();
    for (String hostAndPort : jedisPoolMap.keySet()) {
        String[] hostAndPortArray = hostAndPort.split(":");
         RedisNode redisNode = new RedisNode(hostAndPortArray[0], Integer.parseInt(hostAndPortArray[1]));
         redisNodes.add(redisNode);
    }
}

RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration();
redisClusterConfiguration.setClusterNodes(redisNodes);
redisClusterConfiguration.setPassword(password);
redisClusterConfiguration.setMaxRedirects(RedisConstants.MAX_RE_DIRECTIONS);
return new LettuceConnectionFactory(redisClusterConfiguration, lettuceClientConfiguration);
  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已结题 9月28日
      • 已采纳回答 9月28日
      • 创建了问题 9月27日

      悬赏问题

      • ¥15 ABAQUS简单的带传动系统运转不了
      • ¥15 关于git actions自动部署的问题
      • ¥25 小程序 view wx:for 循环太多时,如何在循环结束执行某个事件?
      • ¥15 曲率模态差matlab程序计算
      • ¥15 大概算是比较简单的坐标系旋转问题
      • ¥15 关于#python#的问题:安装完gym环境后
      • ¥15 关于稳像云台姿态控制中相机姿态误差表征
      • ¥15 求sm16306s驱动例程
      • ¥15 本地生活媒体平台口碑选品怎么获得权限
      • ¥15 R语言 回归树/袋装树/随机森林预测