【问题标题】:If PUB starts first and connects to XPUB/XSUB proxy, messages get dropped till the time SUB is not connected如果 PUB 先启动并连接到 XPUB/XSUB 代理,则消息将被丢弃,直到 SUB 未连接
【发布时间】:2018-08-08 04:41:11
【问题描述】:

我已经实现了一个基于 ZeroMQ 的基础架构,在 c++ 中使用 XPUB/XSUB-proxy 将消息从多个 PUB-s 传递到多个 SUB-s。

多个PUB(s) --> XSUB/XPUB 代理--> 多个SUB(s)

如果我启动所有SUB(s) 然后启动PUB(s) 那么它按照设计工作,但是如果我先启动PUB(s) 然后我启动@ 987654330@(s),则在此期间来自PUB(s) 的所有消息都将被丢弃。

有解决办法吗?

由于在应用程序中可能会发生SUB 关闭或崩溃的情况,因此不应丢弃来自任何PUB 的针对该SUB 的消息。

【问题讨论】:

    标签: c++ message-queue zeromq


    【解决方案1】:

    这是一个众所周知的功能。 ZeroMQ 设计有意采用这种方式。

    如果您试图规避这一点,最好从重新阅读 ZeroMQ 设计准则开始,其中之一是 ZeroWarranty 原则。

    最好的下一步是访问 Pieter HINTJENS 的伟大而有见地的书,该书也有 pdf 格式,“Code Connected: Volume 1”。

    讨论了原则和设计变通方法,因此值得花时间和精力阅读整个故事并了解设计原因和技术选项,这可能会帮助您在专业的 设计中进一步发展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 2015-07-03
      • 2016-06-25
      • 2019-07-23
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多