Bit*_*iot 5 publish-subscribe zeromq
我在一个盒子上有服务器代码,需要监听来自另一个盒子的状态,其中大约有 10 个嵌入了 linux 的芯片。这 10 个芯片有自己的 IP 地址,每个芯片都会向服务器发送基本的健康状态,服务器可以(可能)用它做一些事情。
我希望服务器只是被动地监听而不必发送响应。所以,这看起来像是 zmq 的 pub/sub 的工作。其中,10 个芯片中的每一个都有自己的出版物,服务器将订阅每个。
但是,服务器需要知道每个芯片将其发布绑定到的众所周知的地址。但是,在现场,这些芯片可以交换或替换为不同的 IP 地址。
相反,让芯片知道服务器代码的 IP 地址更安全。
我想要一个 pub/sub,其中接收者是众所周知的地址。或者,客户端(芯片)向服务器(请求)发送消息的请求/响应模式,但服务器和芯片都不需要发送/接收响应。
现在,目前,单独的盒子上有两台服务器。所以,如果可能的话,我想要一个服务器和多台服务器的解决方案。
这在zmq中可能吗?那会是什么模式?
谢谢。
是的,您可以完全按照您期望的方式执行此操作。只需绑定您的订阅者,然后与您的发布者连接到该订阅者。ZMQ 没有指定哪一端应该是“服务器”,或者更可靠的一端,哪一端应该是“客户端”,或者更临时的一端,特别是这个原因,这是切换正常范式的一个很好的理由.
编辑以解决新的澄清--
它应该适用于多台服务器。一般来说,它的工作方式如下(这种情况下的操作顺序只是为了确保没有消息丢失,如果PUB套接字在SUB准备好之前开始发送消息,这是可能的):
SUB套接字并绑定地址:端口。SUB套接字并绑定地址:端口。PUB套接字并连接到 [server 1] address:port 并连接到 [server 2] address:port。| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |