【发布时间】: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