我正在使用 ZMQ 设计一个发布/订阅架构。我需要最大的可靠性和可扩展性,我有点迷失在所提供的各种可能性中。
目前,我有一组发布者和订阅者,由经纪人链接。代理是一个简单的转发设备,为发布者提供前端,为订阅者提供后端。
我需要处理代理崩溃或断开连接的情况,并提高整体可扩展性。
好的,所以我想添加多个代理,发布者将轮询代理发送消息,订阅者只需订阅所有这些代理。
然后我需要一种方法来检索可能的代理列表,所以我编写了一个名称服务,可以按需提供代理列表。发布者和订阅者询问该服务要连接到哪些代理。
我还写了一种“懒惰的海盗”(即一个接一个地尝试/重试)可靠的名称服务,以防主要名称服务失败。
我开始认为我设计错了,因为代码库的大小和复杂性不断增加。我迷失在 ZMQ 提供的可能性丛林中。
也许基于路由器/经销商的东西可以在这里使用?
任何建议都非常感谢!