什么是 zeromq 用例?

Posted

技术标签:

【中文标题】什么是 zeromq 用例?【英文标题】:What are zeromq use cases? 【发布时间】:2011-05-28 19:45:09 【问题描述】:

你能举一些 zeromq 的例子吗?

【问题讨论】:

ZeroMQ 的用例是连接网络上移动部件的任何东西。任何类型的分布式系统。由于将 ZeroMQ 添加到节点的占用空间非常小,因此您可以并行处理 10,000 个系统(就像 Salt 所做的那样)。由于处理一条消息的成本非常低,您可以处理非常大的容量(每秒数百万条消息)。我们使用 ZeroMQ 将移动设备连接到一个点对点的网格中。我们使用它来构建后端,无需更改代码即可从一个盒子扩展到多个盒子。 @PieterHintjens 我正在做一个手机上的点对点项目,并打算使用 ZeroMQ。 ZeroMQ 在任何给定实例中可以处理的设备数量是否有任何限制? @androidDev 您打算通过应用商店进行部署吗?我的理解是 ZeroMQ 是 LGPL,由于最终用户重新链接的要求,移动应用商店与 LGPL 不兼容。 zeromq.org/area:faq#toc4 好像license没问题 尽管问题很广泛,但当 ZeroMQ 的作者自己回答时,没有什么比这更好的了。 RIP,谢谢@PieterHintjens 【参考方案1】:

假设您想要一个公告板。通过订阅公告板,您希望只允许某些人看到它。

这可以使用 ZeroMQ 的发布者/订阅者模型来完成。

现在,假设您需要发送一些异步消息。也就是说,当一条消息从系统 A 发送并需要到达系统 B 时,即使系统 A 和 B 在发送该消息时无法通信,也可以保证稍后传递。您可以想象一个用例是 SMS 消息。

这可以使用 ZeroMQ 的异步消息传递模型来完成。

基本上,任何符合 JMS 标准的解决方案(例如 ZeroMQ)都可以让您以尽可能少的麻烦可靠地向其他方广播或发送“消息”,无论该消息是什么。

【讨论】:

ZeroMQ 不兼容 JMS。它通过网络以字节数组的形式发送数据,它不关心你使用什么语言。 确实 ZeroMQ 不兼容 JMS。 JMS接口需要自己实现。【参考方案2】:

请查看ZeroMQ blog——他们会定期发布有关不同部署、语言绑定等的使用案例。

【讨论】:

博客有英文版吗?整个页面对我来说都是印度尼西亚语...... 这些事情可能发生在 11 岁 (!!) 答案中的链接。试试回程机?【参考方案3】:

IPython 将 ZeroMQ 用于parallel computing features, the qt console and the notebook。

【讨论】:

【参考方案4】:

上次 Rick Olson 创建了 Dropbox 的“克隆”:https://gist.github.com/122849a52c5b33c5d890

【讨论】:

【参考方案5】:

他们还有一个出色的guide,可以让您全面了解可能的用例及其实时应用程序。

如果你有更多的时间,你可以通过整个website

【讨论】:

【参考方案6】:

我个人使用这个库是跨语言交流:

我在 Python 和 Haskell 之间传递数据

【讨论】:

以上是关于什么是 zeromq 用例?的主要内容,如果未能解决你的问题,请参考以下文章

在 ZeroMQ 中使用协议缓冲区实现 RPC

zeromq为啥要cas

C++跨平台:ZeroMQ的简单示例

C++跨平台:ZeroMQ的简单示例

Apache Thrift 和 ZeroMQ 的区别

互联网金融消息队列ZeroMQ