首页 > 解决方案 > 如何在 ZMQ Publisher/Subscriber QUEUE 中获取消息/事件计数

问题描述

我们为分布式进程之间的消息传输实现了ZMQ PUB/SUB机制。但是由于订阅者的处理时间,消息的处理有一些延迟(有时延迟以小时为单位,因为排队消息的数量)。为了克服这种延迟,我计划根据进入发布者队列的待处理消息的数量来扩大/缩小订阅者进程。

是否有任何机制来获取 ZMQ 发布者队列的计数/长度?

目前,我正在考虑使用发布服务器 RAM 利用率阈值来扩大/缩小订阅者进程。

标签: zeromqpublish-subscribepyzmq

解决方案


Q :如何获取 ZMQ Publisher/Subscriber Queue 中的 Message/Events 计数?

PUB-side 有两个选项:
1)对所有调用的简单计数.send()避免了程序设计中的“垃圾错误”
2)如果不使用显式计数,可以使用socket_monitor工具解决“垃圾”分类问题(额外费用为这样做 )

SUB
-side是消息的被动接收者,因此它只有一种选择socket_monitor:已发布的 API 抽象的帷幕)

是否有任何机制来获取 ZMQ Publisher Queue 的计数/长度?

(ref.above) + 取决于观察者“机制”的位置:

添加另一个独立工作的信令控制平面将有助于交叉融合这些原则,从而增强来自双方的所有相关控制数据,以获得排队流量的全貌。


推荐阅读