【发布时间】:2020-03-15 17:49:32
【问题描述】:
我正在使用 zeromq 创建一个通用的动态图设置。我已经有一个 XPUB/XSUB 设置,但我想知道是否有一种 zmq 方法可以为代理生成的每条消息添加一个序列号/时间戳,以便获得一个唯一排序的事件“磁带”?
【问题讨论】:
标签: c++ proxy zeromq publish-subscribe
我正在使用 zeromq 创建一个通用的动态图设置。我已经有一个 XPUB/XSUB 设置,但我想知道是否有一种 zmq 方法可以为代理生成的每条消息添加一个序列号/时间戳,以便获得一个唯一排序的事件“磁带”?
【问题讨论】:
标签: c++ proxy zeromq publish-subscribe
Q : "...但我想知道是否有一种 zmq 方式可以将...添加到每条消息...?"
不,没有。 ZeroMQ 方法是使用零复制和 (几乎) 零延迟来完成。
您希望的用例不存在这种方式。
创建一个转换节点,其中每条消息都将得到相应的转换(添加了 SEQ-number 和 TimeSTAMP datum { pre | ap }-pended )。这样的步骤需要实现这样一个节点并处理所有这些步骤,每个事件都会出现任何异常。
现成的 API 文档化 zmq_proxy() 根本没有也不能也不应该涵盖这些特定要求,因为它是为其他目的而设计的(并且使用零拷贝来实现最有效的传递 + ev.高效的 MITM 记录器服务模式)。
【讨论】: