我最初是在生产中使用集群模式下的Redis
。但后来我意识到,如果我使用Redis independent servers
使用ShardedJedis java API
,我可以使用ShardedJedisPipeline
,由于明显的原因,它具有更好的性能。但是,在使用Redis Server
维护自动故障转移和高可用性时,我必须使用Redis Sentinel
。所以,我开始调查Sentinel
。但是,在进行初始POC
时,我知道不能同时使用ShardedJedis
和Sentinel
。
现在看来我所有的路都是封闭的
Redis Cluster
不支持管道Sentinel
,我无法实现高可用性和自动故障转移。Sentinel
和ShardedJedis
结合使用。如果我错在任何地方,请纠正我,并建议我实现性能的最佳策略以及高可用性和自动故障转移。
发布于 2015-07-15 06:03:07
发布于 2015-07-19 06:53:13
您应该考虑Redis群集行为(Redis群集可以在任何操作中响应触发重定向)。
Redis集群的每个进程都像普通的Redis进程一样工作,因此它支持流水线。但是,它不能保证我们使用多个节点的流水线是安全的。
这是一个长时间的讨论,所以我附上我张贴到Redis Google组关于Redis集群与管道的链接。请参考这里的更多细节。
https://stackoverflow.com/questions/31406389
复制相似问题