【发布时间】:2012-10-01 14:18:41
【问题描述】:
在这个link 上,它说“当前的实现将简单地将所有发布消息广播到所有其他节点”,并补充说它会在未来得到改进。
对于当前的实现:如果丢失消息不重要;现在将 redis 用于发布/订阅是否有意义?看起来一个实例更好地停止广播流量。因为旁边写;读取也应该传播到其他节点! (这样客户端就不会被通知两次了。)
我错过了什么吗?
【问题讨论】:
标签: redis
在这个link 上,它说“当前的实现将简单地将所有发布消息广播到所有其他节点”,并补充说它会在未来得到改进。
对于当前的实现:如果丢失消息不重要;现在将 redis 用于发布/订阅是否有意义?看起来一个实例更好地停止广播流量。因为旁边写;读取也应该传播到其他节点! (这样客户端就不会被通知两次了。)
我错过了什么吗?
【问题讨论】:
标签: redis
不,我认为你没有错过任何一点。 Redis Cluster 是一项正在进行的工作,其中包括规范。关于 pub/sub 的部分比较简单,可能需要改进。
在 Salvatore 的提议中,客户端订阅单个实例(不是所有实例),因此当发布被广播到所有实例时,客户端只被通知一次。如果 Redis 实例关闭,则由客户端在集群的一个幸存节点(任何其他节点)上进行订阅。
另一种可能性是选择集群的一个节点作为唯一的发布/订阅节点,以便客户端只能在该节点上发布和订阅。但是通过这种方式支持发布/订阅服务的高可用性会更加困难。
【讨论】: