我一直在考虑将WAMP路由器扩展到多台计算机上。特别是因为在没有备份系统的情况下依赖一个系统在实际场景中看起来有点困难。
为了没有复杂的主节点选举以及随之而来的所有内容,我有了以下想法,我希望得到一些反馈。
路由器需要共享一些信息,即:
验证
RPC
PUB / SUB
所有路由器之间必须有连接。为了保持连接和流量较低,理念是拥有环网基础设施:
+----------------+ +-----------------+ +--------------+
| | | | | |
+--> First Router +----> Second Router +----> Nth Router +--+
| | | | | | | |
| +----------------+ +-----------------+ +--------------+ |
| |
+-----------------------------------------------------------------+
每个路由器都有自己的客户端连接到下一个路由器。通过存储来自客户端的CALL或PUBLISH的传入消息id,路由器可以识别往返。 来自另一台路由器的来电将按原样处理。 产量将具有正确的INVOCATION.Request | id并且可以转发到正确的路由器。
放弃路由器
此基础架构强制为所有路由器提供一些静态和相同的配置。这意味着动态扩展不起作用,但因此不需要领导者选举。如果路由器被杀死,则下一个路由器将从路由器列表连接。持续轮询可以检查路由器是否重新联机。
我没有对此做过任何深入的研究。所以我很乐意为此获得一些意见。