gpt4 book ai didi

python - ZMQ 发布/订阅可靠/可扩展设计

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:40 24 4
gpt4 key购买 nike

我正在使用 ZMQ 设计发布/订阅架构。我需要最大的可靠性和可扩展性,并且有点迷失在所提供的可能性的 hell 中。

目前,我有一组发布者和订阅者,由代理链接。代理是一个简单的转发器设备,为发布者公开前端,为订阅者公开后端。

我需要处理代理崩溃或断开连接的情况,并提高整体可扩展性。

好吧,所以我想到了添加多个代理,发布者将轮流向代理发送消息,而订阅者将只订阅所有这些代理。

然后我需要一种方法来检索可能的经纪商列表,因此我编写了一个名称服务来按需提供经纪商列表。发布者和订阅者询问此服务要连接到哪些代理。

我还写了一种“懒惰的海盗”(即一个接一个地尝试/重试)可靠的名称服务,以防主要名称服务出现故障。

我开始认为我的设计有误,因为代码库的大小和复杂性一直在不断增加。我迷失在 ZMQ 提供的可能性丛林中。

也许基于路由器/经销商的东西可以在这里使用?

非常感谢任何建议!

最佳答案

无法直接回答您的问题,因为它基于许多假设,其中许多可能是错误的。

您迷路是因为您使用了错误的方法。将 0MQ 视为一种您还不太了解的语言。如果您从尝试编写“最大可靠性和可扩展性”开始,您将以哥斯拉的呕吐物告终。

所以:使用我在指南中使用的方法。从核心消息流的最小解决方案开始,并使其正常工作。仔细考虑要使用的正确 socket 类型。然后进行渐进式改进,每次都进行全面测试以确保您了解实际情况。随着代码的增长,定期重构代码。继续,直到你有一个稳定的最小版本 1。一开始不要以“最大”为目标。

最后,当您更好地理解问题后,从头开始,然后分几步构建一个工作模型。

重复直到你完全控制了问题并学会了解决它的最佳方法。

关于python - ZMQ 发布/订阅可靠/可扩展设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com