ZMQ双向发布者-订阅者

时间:2019-05-13 11:58:14

标签: zeromq pyzmq nats.io

我读到以下内容:http://api.zeromq.org/4-3:zmq-socket,据我了解,两种插座都不符合要求,我认为这很简单...本质上,我希望ZMQ的工作方式与NATS的工作方式完全相同(我只是没有一个不错的NATS客户,否则我会使用它。)

因此,要描述问题:我有一个主节点和一堆从节点。主机需要将消息发送到节点并异步/超出范围地接收响应(即应该可以在接收响应之前发送多个消息)。从节点都是唯一的。即循环,公平排队等是毫无疑问的:每个从站都必须接收指定的消息(有时会有成组的从站都需要接收相同的消息)。

从站相互通信(不一定是直接对话,也可能是通过主站对话)可能也很有用。但是,如果不可能做到这一点,只要满足其他要求,我可能会在其他基础之上构建它。


到目前为止,我一直在研究SERVER / CLIENT对和DEALER / ROUTER,但是由于它们将消息发送到随机目的地的方式,这两个都不起作用。

1 个答案:

答案 0 :(得分:0)

听起来两个PUB / SUB插座可以工作。

Master有两个插槽

  • PUB套接字发送具有指定ID(主题)的消息
  • SUB插座 (全部订阅)从奴隶接收ID为(主题)的消息作为回复

每个从站都有两个插槽

  • SUB套接字订阅其感兴趣的ID(主题)
  • PUB套接字以ID为主题发送带外答复。

操作

  • 主人会发出带有特定主题的信息
  • 只有订阅该主题的奴隶才能收到消息。
  • 从站可以接收多个消息。
  • 从属服务器可以在其发布者套接字上以主体为ID向主域发布对主服务器的答复
  • 奴隶可以动态走动