【发布时间】:2017-09-08 08:31:06
【问题描述】:
我一直在阅读关于心跳的ZMQ documentation,并读到应该使用乒乓方法而不是用于偏执海盗模式的方法
对于 Paranoid Pirate,我们选择了第二种方法。它可能没有 是最简单的选择:如果今天设计这个,我可能会尝试 代替乒乓球的方法。
但是,我在任何地方都找不到关于乒乓球模式的文档(为什么还是首选它?)。 pyzmq 示例中唯一可能的代码示例是ping.py 和pong.py。
这些例子足以证明双向心跳吗?如果是这样,“pong”如何检测到“ping”不再存在?也有人声称没有有效载荷,但ping message 不也被视为有效载荷吗?
一个对等体向另一个对等体发送 ping 命令,对方用 pong 回复 命令。两个命令都没有任何有效载荷
同样,这些示例可能不构成此方法的完整实现。如果有人能分享一些经验、描述或代码示例,我将不胜感激。
我的目标是为经纪人和工作人员(路由器经销商)添加心跳功能。 worker 和 broker 都应该检测到合作伙伴不再可用,并且 (a) 取消注册 worker(如果 broker 检测到 worker 已经离开),或者 (b) 稍后尝试重新连接(如果 worker 丢失其连接到代理)。忙碌时不需要工作人员,因为无论如何它都不会在代理的空闲工作人员队列中等待新工作。
【问题讨论】: