Zmq非常快,每个双向连接都有一对套接字(对于每种连接类型 - 例如REQ-REQ和PUB-SUB等),这对任何复杂的架构都是一种痛苦。因此,经纪人的概念就出现了。
带有通道的代理套接字(用于exaplle命名连接抽象),它将提供模式类型封装。在一台机器上打开一个插槽,在每台机器上打开一个插槽的方法,并让它完成所有操作(PUB-SUB,REQ-REP等)将是不错的。
有没有办法用zmq或它的某些扩展为所有人创建这样的?
答案 0 :(得分:1)
你不能使用相同的ZMQ套接字进行PUB / SUB和REQ / REP,它根本不能工作。但是,您可以将逻辑封装在单个组件中,至少使用ZMQ.Poller
接收来自不同套接字类型的消息,这是Python示例,希望它有所帮助......
https://github.com/imatix/zguide/blob/master/examples/Python/mspoller.py
顺便说一句,如果您正在使用N-to-N PUB / SUB,那么您应该使用ZMQ代理/转发器作为中介;否则,您会遇到动态发现问题,请在此处阅读:http://zguide.zeromq.org/page:all#The-Dynamic-Discovery-Problem