6

在这个链接上,它说“当前的实现将简单地将所有发布消息广播到所有其他节点”,并补充说它会在未来得到改进。

对于当前的实现:如果丢失消息不重要;现在将 redis 用于发布/订阅是否有意义?看起来一个实例更好地停止广播流量。因为旁边写;读取也应该传播到其他节点!(这样客户就不会被通知两次。)

我错过了什么吗?

4

1 回答 1

6

不,我认为你没有漏掉任何一点。Redis Cluster 是一项正在进行的工作,其中包括规范。关于 pub/sub 的部分相当简单,可能需要改进。

在 Salvatore 的提议中,客户端订阅了单个实例(不是所有实例),因此当将发布广播到所有实例时,客户端只会收到一次通知。如果 Redis 实例关闭,则由客户端在集群的一个幸存节点(任何其他节点)上进行订阅。

另一种可能性是选择集群的一个节点作为唯一的发布/订阅节点,以便客户端只能在该节点上发布和订阅。但是以这种方式支持发布/订阅服务的高可用性将更加困难。

于 2012-10-01T15:00:51.453 回答