如何在Spring Boot中使用Redisson连接Redis Sentinel?

问题描述 投票:0回答:1

场景:

  1. 按照 bitnami/redis-sentinel/Spring Boot 3,Redis Sentinel 在本地使用 docker compose 运行 redis-sentinel 服务器。
  2. 将 REDIS_MASTER_HOST=127.0.0.1 更新为 docker compose 文件中的哨兵服务器
  3. docker 组成-d
  4. 使用以下属性在本地运行我的 Spring boot 应用程序
spring:
  data:
    redis:
      password: redispassword
      sentinel:
        master: mymaster
        nodes:
          - 127.0.0.1:26379
          - 127.0.0.1:26380
          - 127.0.0.1:26381
  1. 应用程序未启动并出现以下错误

无法实例化 [org.redisson.api.RedissonClient]:工厂方法“redisson”抛出异常并显示消息:SENTINEL SENTINELS 命令返回少于 2 个节点或无法与其中某些节点建立连接! Redis 配置中至少应定义两个哨兵。

  1. 当我将应用程序容器化并将其添加到与另一个服务相同的 docker compose 文件时,它可以使用以下属性。
  • SPRING_DATA_REDIS_SENTINEL_MASTER:redismaster
  • SPRING_DATA_REDIS_SENTINEL_NODES:redis-sentinel:26382,redis-sentinel2:26380,redis-sentinel3:26381

redisson不支持本地访问docker外的sentinel配置吗?

注意: 密码可能与原始文档不同,因为我已在本地更新了

spring-boot docker docker-compose redis redisson
1个回答
0
投票

您需要定义

natMapper
设置来解析 Docker 中部署的哨兵节点正确报告的地址。

© www.soinside.com 2019 - 2024. All rights reserved.