我想知道zmq是否已经解决了以下问题(或)zmq顶部的应用程序需要处理它。
1)向所有订阅者发布数据的中央发布者。这些数据本质上是静态的,类似于配置。可以在任何时间修改数据 2)多个订阅者订阅来自此发布者的消息。出版商可以随时加入 3)如果数据发生变化,发布者应该只将差异发布给现有订阅者 4)如果订户稍后加入,则发布者应将所有数据(当前配置)发布给新订户。
Zeromq指南建议以下解决慢性乔尼综合征,但这并不能解决上述问题。 http://zguide.zeromq.org/page:all#Slow-Subscriber-Detection-Suicidal-Snail-Pattern
答案 0 :(得分:3)
指南中的克隆模式正是您想要的。
答案 1 :(得分:2)
我在设置中遇到的问题是它要求所有订阅者具有相同的状态。如果所有订户都是版本7并且您发布了7到8差异,那么它们都会更新到版本8.但是这需要节点之间紧密耦合的状态同步。当订阅者不同步时,您将如何处理这种情况?
考虑这种替代设置:
i
加入网络时,它会向发布者发送“更新”请求,以便发布者知道订阅者的身份及其当前版本version[i]
i
保持最新状态这种方法有以下好处: