【问题标题】:Can you have a single end point for Redis cluster(master/slave)?Redis集群(主/从)可以有一个端点吗?
【发布时间】:2019-07-24 13:15:41
【问题描述】:

我已经开始阅读有关如何设置 Redis 集群的信息,除了我无法找到我生成的集群的共同端点这一事实之外,大部分信息都是有意义的。

由于我正在考虑使用 Sentinel 来缓解故障转移以及考虑使从属设备为只读,我希望有一些开箱即用的客户端可以为我管理负载平衡。对于 C#,StackExchange.Redis 正是这样做的,Java 中有一些开源解决方案吗?由于必须编写一个单独的客户端来管理它,Redis 没有开箱即用的支持来管理多个主机吗?

【问题讨论】:

  • Redis 集群中没有公共端点。每个节点保存每个节点和该节点将服务的槽的信息。 Lettuce 是一个很棒的库(智能 Java 客户端),它缓存节点及其服务槽,以在读/写数据时节省重定向时间。它还具有自动刷新集群拓扑、从从属选项读取等功能

标签: java redis jedis


【解决方案1】:

简答

这是可能的,但不是(开箱即用)jedis

说明

Jedis 在高可用性意义上支持 Redis Sentinel,但不支持从属读取。使用 Jedis 将始终从当前主节点读取。但是,您可以从 Sentinel (SENTINEL SLAVES <master-name>) 获取从属服务器并启动自己的客户端。 Jedis 目前有一个open ticket 来实现该功能。

或者,您可能想查看lettuceRedisson

两个客户端都提供对 read behavior 的主查找和控制。

【讨论】:

    【解决方案2】:

    你应该连接所有的 redis 节点。 我试过生菜。它是钢一样的。这是 AWS Doc

    【讨论】:

    • 这是评论,不是回答。请多写点,不然很快就关了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2019-12-01
    相关资源
    最近更新 更多