本文介绍了ZMQ路由器/交易商对Message Broker的有用性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用消息队列时,我习惯了消息代理模型,例如RabbitMQ或Redis pub/sub.因此,zeromq的无代理模型感觉有点不自然。
在我看来,路由器/经销商模型和routing envelopes概念是典型的消息代理元素,例如在RabbitMQ中。
谁能提供一个在Message Broker上使用ZMQ路由器/经销商的真实示例(除了我不需要设置Broker的那个明显的例子)?
顺便说一下,这个问题也适用于zeromq发布/订阅模式。
推荐答案
您可能希望通过非常快的通道(例如:Unix套接字)将工作分配给多个工作进程,而不会产生代理带来的额外开销。我们的一个用例是:我们将视频文件分割成图像,然后发送给一组工作者,每个工作者绑定到一个图形处理器。
我们不需要持久性,我们不需要安全性,我们不需要消息转换,我们不需要协议和传输转换...所有功能通常由Message Broker提供,但需要付费。我们只是想尽可能快地分配工作。使用ZMQ,我们只需更改协议/连接字符串,就可以在多台机器上分配工作。然后,我们必须在N个GPU上本地完成所有工作,或在具有N x X个GPU的多台计算机上分发工作之间找到平衡。将ZMQ视为代理构建工具包,使您能够轻松构建符合您特定需求的轻量级代理。
这篇关于ZMQ路由器/交易商对Message Broker的有用性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!