设置多个redis主人

在最近的研究中,我得到了这样一个信念:Redis不可能由多个主人组成,每个主人有两个奴隶。

https://github.com/uolter/redis_failover/issues/4#issuecomment-24377513

这个评论让我吃了一惊,于是我决定询问社区是否有可能以及人们如何处理失败。

我听说过redis-cluster项目,但目前看起来并不稳定,所以我不敢在生产环境中试用。

您可以根据需要部署任意数量的主设备,每个设备都有多个从设备,但是它们的行为就像是一个独立的集群,它们拥有自己的内存空间,在应用程序层负责分散您的密钥。主人,就像在Memcached多节点部署中一样。

另外,如果您没有Redis Sentinel正在监视您的数据节点,则您的应用程序将必须按照每个主节点来处理故障切换过程,以将其中一个从节点提升为主节点,并redirect其他从节点以使用新节点。

无论如何,除非你打算使用所有的从设备作为只读副本来提高读取吞吐量,否则单个从设备对于大多数使用情况已经足够了。

而关于Redis-Cluster,那么…恕我直言,Redis集群引入了一些在典型的Redis用例中有很大影响的处罚(没有多键操作,没有stream水线…),所以你应该在实施之前仔细评估它它。