【问题标题】:Redis Sentinel with read from Slaves write to MasterRedis Sentinel 从 Slave 读取并写入 Master
【发布时间】:2016-09-28 13:01:33
【问题描述】:

我们当前的 Redis 设置是一个 Web 应用程序客户端,使用 Jedis 直接连接,使用一个 JedisPool 写入单个 Redis 主服务器,使用第二个 JedisPool 读取单个 Redis 从属服务器。从站设置为复制主站。

我们正在转向在客户端上使用 JedisSentinelPool 并引入 Sentinel 以更干净地处理故障转移。 As far as I know, it seems that the JedisSentinelPool only communicates with the currently elected master, so now all writes/reads go to the master.与之前可以将读取分配给从属设备相比。

有没有什么方法可以使用 JedisSentinelPool 将读取分配给从属服务器以达到负载平衡的目的?或者有必要使用 JedisPool 手动实现这一点(如前所述)在这种情况下,如果 master 失败,JedisSentinelPool 现在将指向旧奴隶(新主人),JedisPool 仍将愚蠢地指向旧奴隶,并且有效旧奴隶(新主人)现在将处理读取和写入?

Redis Sentinel(或其他)是否具有任何负载平衡(相对于故障转移)功能?我们目前只有一个slave,是否可以添加更多的slave来进行负载均衡?如果是,推荐的配置是什么?

我们将不胜感激任何建议和实际经验。

【问题讨论】:

    标签: redis jedis redis-sentinel


    【解决方案1】:

    我写了一个新的 JedisSentinelPool ,可以通过负载均衡从slave读取,从master写入,它使用redis订阅slave,我在我的Web应用程序中使用它,见代码github sentinel-slave-jedis-pool

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 2015-05-26
      • 2023-03-27
      • 1970-01-01
      • 2017-08-06
      相关资源
      最近更新 更多