zeromq在节点之间创建消息缓冲区

时间:2014-12-02 08:01:11

标签: c++ zeromq data-distribution-service

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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