消息总线通过ZeroMQ

时间:2014-03-04 15:02:06

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

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

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

我正在考虑的方法是:

1。目录服务+网状拓扑

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

2。经纪人

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

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

1 个答案:

答案 0 :(得分:3)

我建议你看一下nanomsg,它有一个内置的BUS拓扑和一些 其他有趣的东西,如SURVEY。它是Martin Sustrik的原始zmq库 作者。

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