2

我需要一种无代理模式来在节点之间读取和写入消息,而无需从队列中删除任何消息,直到某些监视器系统接受删除消息为止。

我可以用 zeromq 做到这一点吗?在 zmq 中,如果一个发布者节点死亡,网络上排队的消息也消失了吗?我怎样才能在网络中保存这个队列!!!

(我想发送一条消息,发布者和订阅者读取消息,但不要从队列中删除该消息,直到我的 Qos 监视器从数组中删除该消息。如果我的发布者死亡,则不应删除使用它创建的消息队列。

我可以用 zmq 中的当前模式实现这些功能吗?)

4

1 回答 1

1

您必须在您的应用程序中构建这种级别的冗余/可靠性,而不是依赖 ZMQ 来提供它。

这意味着您必须跟踪发布者节点上的所有消息,然后订阅者节点应该能够回复它已收到消息,从而允许发布者节点删除它的缓存。这很可能意味着多个套接字,除非您真的想尝试让 XPUB/XSUB 以这种方式进行通信,但这似乎不是理想的选择。

如果您需要在您的通信库中更直接地支持某些东西,那么 ZMQ 不会为您削减它......但我怀疑您会找到其他任何东西。

于 2014-12-02T22:31:18.863 回答