【问题标题】:Message bus over ZeroMQZeroMQ 上的消息总线
【发布时间】:2014-04-06 04:42:46
【问题描述】:

我将在 ZeroMQ 上实现一个分布式消息总线,并试图使其尽可能高效。我的要求是:

  • 多个进程连接到一条总线,其中一些在同一台机器上,一些不在。
  • 进程可以订阅某些主题
  • 很遗憾,没有多播(生产环境不支持 - 亚马逊)
  • 我需要多语言灵魂(至少对于 C++、Haskell 和 Python)

我正在考虑的方法是:

1。目录服务+网状拓扑

  • 有一个目录服务,其中包含所有已连接进程及其地址的列表。
  • 每个进程在启动时都连接到 DS 并询问其他进程的地址
  • 每个进程都有一个连接到所有其他进程的 Pub 和 Sub 套接字(网状拓扑)

2。经纪人

  • 所有进程都连接到使用 Pub 套接字分发消息的代理。

是否有任何其他/更好的架构可以与 ZeroMQ 一起使用来创建这样的消息总线?

【问题讨论】:

  • 看看 Vert.x (vertx.io) 它可以帮助你实现一个服务总线。
  • github.com/p14n/vert-zeromq 有一个 ZMQ 和 Vert.x 的桥梁
  • 感谢您的回复!不幸的是,您的解决方案是针对 Java 的,但我需要它是多语言的(一些组件使用 C++,一些使用 Haskell,一些使用 Python)。我更新了问题。

标签: amazon-web-services architecture ipc zeromq dbus


【解决方案1】:

我建议你看看nanomsg,它有一个内置的 BUS 拓扑和一些 其他有趣的,如调查。它是由 Martin Sustrik 提供的原始 zmq 库 作者。

您可以在 Martin Sustrik 博客上找到一些关于 BUS 的讨论:http://250bpm.com/blog:17

【讨论】:

    猜你喜欢
    • 2014-08-28
    • 2012-07-23
    • 2020-09-18
    • 2015-06-20
    • 2011-11-20
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多