项目简介: 一个分布式的 mqtt 的服务
场景描述: 基于 Gossip,使用的 memberlist 库,新节点加入集群,需要同步集群中已连接的客户端信息和订阅信息,同时新节点可能还会收到集群中其他节点的广播数据更新。
问题:
我的思路: 新节点加入后,将收到的更新数据暂时缓存直到和其他节点同步完成再开始处理更新。同步信息过大只能分批次同步。但是 gossip 协议中的推拉模式下。一定时间推拉一次,如果数据量非常大的时候网络开销太大。不说百万,即使几万的客户端信息,一次推拉也是很大的开销。如果分批次处理代码就会变复杂。所以想和大家讨论一下如何解决。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.