繁体   English   中英

Redis Sentinel从Slaves读取写入Master

[英]Redis Sentinel with read from Slaves write to Master

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

我们正在转向在客户端上使用JedisSentinelPool并引入Sentinel以更干净地处理故障转移。 据我所知,似乎JedisSentinelPool只与当前选出的主设备通信,所以现在所有的写入/读取都转到主设备上。 与之前的读取可以分配给从属的情况相比。

有没有办法使用JedisSentinelPool将读取分配给从站以实现负载平衡? 或者有必要使用JedisPool手动实现(如前所述)在这种情况下,如果主服务器失败,JedisSentinelPool现在将指向旧的从服务器(新主服务器),JedisPool仍然会笨拙地指向旧服务器,并且有效旧的奴隶(新主人)现在会处理读写吗?

Redis Sentinel(或其他)是否具有任何负载平衡(而不是故障转移)功能? 我们目前只有一个奴隶,可以添加更多的奴隶用于负载平衡吗? 如果是这样,推荐的配置是什么?

任何建议,现实世界的经验将不胜感激。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM