在不可靠的媒体上并行广播

问题描述

我有成百上千个节点,每个节点彼此都知道对方的地址。

为了有效地在它们之间传播消息,我目前正在考虑将它们变成一棵树,或者可能是多棵树。

我已经读过https://en.wikipedia.org/wiki/Broadcast_(parallel_pattern),但似乎无法处理消息丢失的情况。

如果消息有1%的失败机会,是否可以将其传递到99%的节点?速度在这里很重要,因此重试和/或TCP无效。

当消息失败时,简单的树广播将丢失整个分支。也许多棵树可以解决问题?多少?

我很高兴节点收到少量冗余消息。我需要使用UDP。少量的绝对故障是可以的,因为它们可以在以后的时间赶上自己,同时又从网络上断开。

这是一个解决的问题吗?

(我遇到过https://ieeexplore.ieee.org/abstract/document/508133,但在知道它是否合适之前无法负担费用。)

解决方法

这是gossip之类的分布式系统中一些有趣的方法,可以解决您的问题。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...