首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZeroMQ发布/订阅筛选和性能

ZeroMQ发布/订阅筛选和性能
EN

Stack Overflow用户
提问于 2012-03-30 16:13:00
回答 3查看 4.2K关注 0票数 2

我正在尝试使用zeromq PUB/SUB(python Eventlet)实现一个代理。zeromq 2.1似乎没有在发布者处实现过滤,所有消息都被广播到所有订阅者,而订阅者反过来应用过滤器。是否有某种变通方法来实现publisher中的过滤。如果不是这样,如果有大约25个发布者和25个订阅者交换消息,最大速率为每秒200个消息,则性能会有多差,其中msg_size ~= 5K通过代理。

有没有任何开源的经过良好测试的零mq代理实现??

EN

回答 3

Stack Overflow用户

发布于 2012-03-30 16:31:42

您有3个问题:

  • 我可以在publisher上过滤自己吗?-yes
  • 向25个节点发送200 m/s的性能有多差?-这取决于您的消息有多大。但是,在这个速率范围内,您根本不会有任何问题;当您的IO吞吐量(1 gbit/s /8=125MiB/s。125*.7 (verhead) = 87 MiB/s。87 MiB /5 KiB (每条消息)= 17000 m/s )开始达到峰值时,问题就来了。在您开始填充IO配额之前,也就是每个节点712 msg/s。但是,如果您遇到这个问题,您不妨使用PGM并以17000 m/s的速度进行多播。
  • OSS ZMQ broker实现呢?-它们不是现有的afaik -但是指南描述了如何使用afaik创建一个可靠的“代理

你需要在你的问题中加入更多的细节:

  • Requirements?
  • What's性能不佳?
  • Message size?
  • Throughput requirements?
  • Backbone速度(10 gbit/s)?

也就是说,如果您需要一个代理,为什么不直接使用RabbitMQ并作为ZMQ设备与RMQ通信呢?

票数 3
EN

Stack Overflow用户

发布于 2012-04-26 04:59:29

zeromq 3.1包括发布端过滤。

zeromq在他们所说的设备中包含了代理的概念。您可以在大约3行代码中设置一个。请参阅http://zguide.zeromq.org/page:all#Built-in-Devices

票数 3
EN

Stack Overflow用户

发布于 2015-02-19 22:43:27

来自ÖMQ指南:

从ZeroMQ v3.x开始,当使用连接的协议(tcp://ipc://)时,会在发布者端进行过滤。使用epgm://协议,过滤发生在用户端。在ZeroMQ v2.x中,所有过滤都发生在用户端。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9939238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档