zeromq - 如何在 ZMQ Publisher/Subscriber QUEUE 中获取消息/事件计数
问题描述
我们为分布式进程之间的消息传输实现了ZMQ PUB/SUB机制。但是由于订阅者的处理时间,消息的处理有一些延迟(有时延迟以小时为单位,因为排队消息的数量)。为了克服这种延迟,我计划根据进入发布者队列的待处理消息的数量来扩大/缩小订阅者进程。
是否有任何机制来获取 ZMQ 发布者队列的计数/长度?
目前,我正在考虑使用发布服务器 RAM 利用率阈值来扩大/缩小订阅者进程。
解决方案
Q :如何获取 ZMQ Publisher/Subscriber Queue 中的 Message/Events 计数?
PUB
-side 有两个选项:
1)对所有调用的简单计数.send()
避免了程序设计中的“垃圾错误”
2)如果不使用显式计数,可以使用socket_monitor
工具解决“垃圾”分类问题(额外费用为这样做 )
SUB
-side是消息的被动接收者,因此它只有一种选择socket_monitor
:已发布的 API 抽象的帷幕)
问:是否有任何机制来获取 ZMQ Publisher Queue 的计数/长度?
(ref.above) + 取决于观察者“机制”的位置:
添加另一个独立工作的信令控制平面将有助于交叉融合这些原则,从而增强来自双方的所有相关控制数据,以获得排队流量的全貌。
推荐阅读
- html - 如何在已包含单词的标题中添加导航栏
- azure - 从 Azure Devops 中的中央 GIT 存储库管理 API 管理?
- typescript - 从通用返回类型推断打字稿“从不”
- c++ - 常量字符串的 std::string_view 复杂度
- python - 如何在python中的元组中组织字典
- twilio - 将音频从 Twilio 媒体流流式传输到浏览器
- hadoop - 在外部表 hdfs 分区目录中创建零件文件副本
- triggers - 使用多组触发 Dafny
- python - Djoser 用户创建路由返回套接字错误
- node.js - Ghost 博客 - 无法从 3.4.2 升级到 4.2.0