我将在ZeroMQ上实现分布式消息总线,并且我试图使其尽可能高效.我的要求是:
多个进程连接到总线,其中一些在同一台机器上,有些则不在.
进程可以订阅某些主题
不幸的是,没有多播(在生产环境中不支持 - 亚马逊)
我需要多语言的灵魂(至少对于C++,Haskell和Python)
我正在考虑的方法是:
有一个目录服务,其中包含所有已连接进程及其地址的列表.
每个进程在启动时连接到DS并询问其他进程的地址
每个进程都有一个Pub和Sub套接字连接到所有其他进程(网状拓扑)
所有进程都连接到使用Pub套接字分发消息的代理.
有没有其他/更好的架构可以与ZeroMQ一起使用来创建这样的消息总线?