我希望能够将文件包(每个包大约 500 MB)分发到公司“外联网”(基本上是使用各种私有机制连接的几个 LAN,包括租用线路和 VPN)上的所有机器。
主机总数约为 100 台,目标是可靠、快速、高效地从一台主机获取捆绑包副本到所有其他主机。一个重要的问题是,一些主机在单个快速 LAN 上组合在一起,在这种情况下,网络 I/O 应该从一个组到下一个组完成一次,然后在所有对等方之间的每个组内完成。这与严格的中央服务器系统相反,在这种系统中,多个主机可能每个都通过慢速链接获取相同的捆绑包,而不是通过慢速链接一次然后在彼此之间快速获取。
每隔几天就会生成一个新包,偶尔会删除旧包(但该问题可以单独解决)。
有问题的机器恰好运行最近的 Linux,但奖励积分将用于至少在某种程度上跨平台的解决方案(在这种情况下,捆绑包可能因平台而异,但可能可以使用相同的机制)。
差不多就是这样。我不反对编写一些代码来处理这个问题,但如果它是 bash、Python、Ruby、Lua、C 或 C++ 中的一种会更好。