我想知道zmq是否已经解决了以下问题(或者)位于zmq之上的应用程序需要处理它。
1)向所有订阅者发布数据的中央发布者。这些数据本质上是静态的,类似于配置。可以在任何时间点修改数据。
2)多个订阅者订阅来自该发布者的消息。发布者可以在任何时间点加入。
3)如果数据发生变化,发布者应该只将差异发布到现有的订阅者。
4)如果订阅者稍后加入,发布者应将所有数据(当前配置)发布给新订阅者。
Zeromq指南建议遵循以下方法来解决慢Joiner综合征,但这并不能解决上述问题。http://zguide.zeromq.org/page:all#Slow-Subscriber-Detection-Suicidal-Snail-Pattern
发布于 2013-05-04 03:10:23
我在你的设置中看到的问题是,它要求所有的订阅者都有相同的状态。如果所有订阅者都是版本7,并且您发布了7- to -8差异,那么它们都会更新到版本8。但这需要在节点之间进行紧密耦合的状态同步。当订阅者不同步时,你会如何处理?
请考虑以下替代设置:
i加入网络时,它会向发布者发送"update“请求,以便发布者知道订阅者的身份及其当前版本version[i] i升级到date所需的差异进行响应
更新提示如果发布者(即,新版本)上的数据发生更改,它将向所有已知的订阅者发送更新提示。当订阅方接收到“-
”
这种方法有以下优点:
发布于 2013-05-06 17:52:56
指南中的克隆模式完全符合您的要求。
https://stackoverflow.com/questions/16365448
复制相似问题