ZeroMQ 有哪些使用案例?

62

你能举几个zeromq的例子吗?


20
ZeroMQ的使用案例是连接网络上移动部件的任何内容。适用于任何类型的分布式系统。由于将ZeroMQ添加到节点的占用空间非常小,因此您可以像Salt一样同时与10,000个系统通信。由于处理一个消息的成本非常低,您可以处理非常高的消息量(每秒数百万条)。我们使用ZeroMQ将移动设备连接到对等网格中。我们使用它来构建后端,无需更改代码即可从一台计算机扩展到多台计算机。 - Pieter Hintjens
@PieterHintjens 我正在开发一个移动电话的点对点项目,打算使用ZeroMQ。在任何给定的情况下,ZeroMQ可以处理的设备数量是否有限制? - AndroidDev
1
@AndroidDev 你打算通过应用商店部署吗?我的理解是ZeroMQ是LGPL,而移动应用商店由于最终用户重新链接的要求与LGPL不兼容。 - Jared Thirsk
似乎没有许可证的问题,可以访问 http://zeromq.org/area:faq#toc4。 - Heroselohim
投票关闭,惊讶它还没有关闭! - mlvljr
2
尽管这个问题很广泛,但当ZeroMQ的作者自己回答时,没有什么比这更好的了。RIP并感谢@PieterHintjens。 - Rakib Fiha
6个回答

20

假设你想建一个公告牌。你只想让一些人通过订阅来查看,使用 ZeroMQ 的发布者/订阅者模式可以实现。

现在,假设你需要发送一些异步消息,也就是当系统 A 发送一条消息并需要将其传递到系统 B 时,即使系统 A 和系统 B 在消息被发送时无法通信,该消息也会保证在以后被成功传递。你可以想象这种情况下的用例是短信消息。

使用 ZeroMQ 的异步消息模型可以实现上述功能。

基本上,任何 JMS 兼容的解决方案(如 ZeroMQ)都可以让你尽可能轻松地向其他方可靠地广播或发送“消息”,无论该消息包含什么内容。


11
ZeroMQ不符合JMS标准。它将数据以字节数组的形式发送到网络上,不关心您使用的语言是什么。 - clarson
1
确实,ZeroMQ不符合JMS标准。您需要自己实现JMS接口。 - gpol

14
请查看ZeroMQ博客 - 他们经常发布有关不同部署、语言绑定等使用故事的内容。

1
这个博客有英文版吗?整个页面对我来说都是印尼语... - Ethan McTague
这些问题可能会发生在 11 年前的链接中。也许可以尝试 Wayback Machine? - Dirk Eddelbuettel


3

我个人使用这个库来进行跨语言通信:

我在Python和Haskell之间传递数据。


3

1
他们还有一份出色的指南,提供了对可能的用例及其实时应用的完整了解。
如果你有更多时间,可以浏览整个网站

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接