如何把一个文件较快的发送到100w个服务器?
约 371 字大约 1 分钟
如何把一个文件较快的发送到100w个服务器?
可以采用p2p网络形式,比如树状形式,单个节点既可以从其他节点接收服务又可以向其他节点提供服务。
不过,树状结构会有什么问题呢?
第一,如果树上的某一个节点坏掉了,那么从这个节点往下的所有服务器全部接收不到文件。
第二,如果树中的某条路径,因为网络因素等原因,传递速度比较慢,导致传递时间比较长,这样会使传递效率退化。
改进的方案如下:
可以使用连通图。100W台服务器相当于有100W个节点的连通图。我们可以在图里生成多颗不同的生成树,在进行数据下发时,同时按照多颗不同的树去传递数据。这样就可以避免某个中间节点宕机,影响到后续的节点。同时这种传递方法实际上是一种依据时间的广度优先遍历,可以避免某条路径过长造成的效率低下。