可靠的客户端-服务器体系结构,切换到发布-订阅?

时间:2019-08-23 05:44:52

标签: client-server zeromq publish-subscribe

我需要一个可靠的请求-响应模型。我正在使用ZeroMQ。到目前为止,我正在使用REQ/REP模式(还有PUB/SUB,但现在并不重要)。

如果客户端崩溃,它可以重新启动并轻松连接。因此,我使用了Lazy Pirate Pattern中的“ ZeroMQ Guide”示例。 如果服务器崩溃,事情就不那么容易了。我必须告诉客户端必须重新启动才能进行连接。当然,有了PUB/SUB这样的其他渠道,我可以解决这个问题,但我问自己:

在每个方向上模仿REQ/REP模式的PUB / SUB模式难道不是很容易吗?如果服务器崩溃,则可以轻松连接而无需重启客户端。

因此,服务器具有一个SUB和一个PUB套接字,而客户端具有一个SUB和一个PUB套接字。

1 个答案:

答案 0 :(得分:0)

  

Q 对每个模仿 PUB/SUB的方向实施 REQ/REP 模式不是更容易模式?


答案:

这个问题无法确定。


原因:

鉴于MCVE代码的专用性为零,没有人能够为难点和难点制定度量标准。

作为根本问题,可能已在 M inimum- V iable- 中指定了多方分布式有限状态自动机时尚。然后, MVP 的MUST-HAVE功能集明确规定了实现的范围以及任何此类MVP实现都必须具备的最低鲁棒性。

REQ/REP -分布式行为原型具有许多不同的本机属性,PUB/SUB的替代品很难模仿/模仿。 PUB-发送方将很难执行,以在出行方向上实现公平队列(往返)负载平衡,以举例说明一些问题,如果尝试“只是”将一个原型替换为另一个原型。

无论如何,要在多方代理网络上具有某种分布式行为模式的新原型,首先需要对这种行为进行严格的说明,然后再决定如何实施任何可能的方式。并使用一些基本工具。

在糟糕的方法和糟糕的方法中,使用马斯洛的锤子是毫无疑问的。


EPILOGUE:

如果对Zen-of-Zero的艺术感兴趣,请随时阅读other ZeroMQ posts here或Pieter HINTJENS的绝妙著作“ Code Connected,Vol.I”(必读)。

相关问题