Questions tagged «zeromq»

17
ActiveMQ或RabbitMQ或ZeroMQ或[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我们很想听听ActiveMQ,RabbitMQ和ZeroMQ的优缺点。也欢迎提供有关任何其他有趣消息队列的信息。

7
ZeroMQ,RabbitMQ和Apache Qpid之间的性能比较
我需要一个高性能的消息总线为我的应用程序,所以我评估性能ZeroMQ,RabbitMQ和Apache Qpid。为了衡量性能,我正在运行一个测试程序,该程序使用消息队列实现之一发布10,000条消息,并在同一台计算机上运行另一个进程以消耗这10,000条消息。然后,我记录发布的第一条消息和收到的最后一条消息之间的时间差。 以下是我用于比较的设置。 RabbitMQ:我使用了“扇出”类型交换和默认配置的队列。我使用RabbitMQ C客户端库。 ZeroMQ:我的发布者tcp://localhost:port1使用ZMQ_PUSH套接字发布,我的代理侦听tcp://localhost:port1并将消息重新发送到tcp:// localhost:port2,而我的使用者tcp://localhost:port2使用ZMQ_PULL套接字侦听。我正在使用代理而不是对等通信,ZeroMQ以使性能比较与使用代理的其他消息队列实现公平。 QpidC ++消息代理:我使用“扇出”类型交换和默认配置的队列。我使用了Qpid C ++客户端库。 以下是性能结果: RabbitMQ:大约需要1秒才能收到10,000条消息。 ZeroMQ:大约需要15毫秒来接收10,000条消息。 Qpid:大约需要4秒钟才能收到10,000条消息。 问题: 是否有人在消息队列之间运行类似的性能比较?然后,我想将我的结果与您的结果进行比较。 有什么方法可以调整RabbitMQ或Qpid使其性能更好? 注意: 测试是在具有两个分配处理器的虚拟机上完成的。结果因不同的硬件而异,但是我主要对MQ产品的相对性能感兴趣。

4
zeromq:如何防止无限等待?
我刚开始使用ZMQ。我正在设计一个工作流程为: 在5555的多个客户端之一(具有随机的PULL地址)向服务器推送请求 服务器永远在等待客户端推送。当一个请求到达时,将为该特定请求生成一个工作进程。是的,工作进程可以同时存在。 该流程完成任务后,会将结果推送给客户端。 我认为PUSH / PULL体系结构适合于此。请对此进行指正。 但是,如何处理这些情况? 服务器无法响应时,client_receiver.recv()将无限期等待。 客户端可以发送请求,但是此请求将立即失败,因此工作进程将永远停留在server_sender.send()处。 那么如何在PUSH / PULL模型中设置超时等内容? 编辑:感谢user938949的建议,我得到了一个有效的答案,我在后人中分享。
73 python  zeromq 

6
为什么要使用AMQP / ZeroMQ / RabbitMQ
而不是编写自己的库。 我们正在这里的一个项目中进行工作,该项目将是一个自划分服务器池,如果一个部分变得太重,经理将对其进行划分并将其作为单独的进程放在另一台计算机上。它还会警告所有连接的客户端,这会影响连接到新服务器。 我很好奇将ZeroMQ用于服务器间和进程间通信。我的伴侣更愿意自己动手​​。我希望社区能够回答这个问题。 我本人是一个相当新手的程序员,刚刚了解了消息传递队列。当我搜索和阅读时,似乎每个人都在使用消息队列来处理各种事情,但是为什么呢?是什么使它们比编写您自己的库更好?为什么它们如此普遍,为什么那么多?

2
为什么zeromq在本地主机上不起作用?
该代码非常有用: import zmq, json, time def main(): context = zmq.Context() subscriber = context.socket(zmq.SUB) subscriber.bind("ipc://test") subscriber.setsockopt(zmq.SUBSCRIBE, '') while True: print subscriber.recv() def main(): context = zmq.Context() publisher = context.socket(zmq.PUB) publisher.connect("ipc://test") while True: publisher.send( "hello world" ) time.sleep( 1 ) 但是这段代码不起作用: import zmq, json, time def recv(): context = zmq.Context() subscriber = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.