我需要一个可靠的请求-响应模型。我正在使用ZeroMQ。到目前为止,我正在使用REQ/REP
模式(还有PUB/SUB
,但现在并不重要)。
如果客户端崩溃,它可以重新启动并轻松连接。因此,我使用了Lazy Pirate Pattern中的“ ZeroMQ Guide”示例。
如果服务器崩溃,事情就不那么容易了。我必须告诉客户端必须重新启动才能进行连接。当然,有了PUB/SUB
这样的其他渠道,我可以解决这个问题,但我问自己:
在每个方向上模仿REQ/REP
模式的PUB / SUB模式难道不是很容易吗?如果服务器崩溃,则可以轻松连接而无需重启客户端。
因此,服务器具有一个SUB
和一个PUB
套接字,而客户端具有一个SUB
和一个PUB
套接字。
答案 0 :(得分:0)
Q :对每个模仿
PUB/SUB
的方向实施REQ/REP
模式不是更容易模式?
这个问题无法确定。
鉴于MCVE代码的专用性为零,没有人能够为难点和难点制定度量标准。
作为根本问题,可能已在 M inimum- V iable- 中指定了多方分布式有限状态自动机时尚。然后, MVP 的MUST-HAVE功能集明确规定了实现的范围以及任何此类MVP实现都必须具备的最低鲁棒性。
REQ/REP
-分布式行为原型具有许多不同的本机属性,PUB/SUB
的替代品很难模仿/模仿。 PUB
-发送方将很难执行,以在出行方向上实现公平队列(往返)负载平衡,以举例说明一些问题,如果尝试“只是”将一个原型替换为另一个原型。
无论如何,要在多方代理网络上具有某种分布式行为模式的新原型,首先需要对这种行为进行严格的说明,然后再决定如何实施任何可能的方式。并使用一些基本工具。
在糟糕的方法和糟糕的方法中,使用马斯洛的锤子是毫无疑问的。
如果对Zen-of-Zero的艺术感兴趣,请随时阅读other ZeroMQ posts here或Pieter HINTJENS的绝妙著作“ Code Connected,Vol.I”(必读)。