我是做网络的,不太懂服务器。
实现网络负载分担的前提是安全可靠,如果网络不可靠,那负载分担就是在给自己找麻烦。
先假设你用软件实现了数据的分担发送,那现在你有5个宽带出口,相当于你连接了5个不同的网络,但目标地址是一个。于是1个文件被拆成5个数据包,走5个网络去往同一个目的地。
这里第一个问题是,5个网络对目标IP的计算是不同的,即使在网络状态良好的情况下,5个数据包的到达时间也是有差异的。当然你的软件是无法感知网络上的拥塞程度的,如果1个网络发生丢包,那另外4个到达的包也就变得无意义,目标会要求重传一个完整的数据。所以在网络不可靠的情况下,出口多并不一定有用,速度往往取决于你最慢的那一条链路。
那就算这样,5个绑在一起,也比用1个好吧。也不一定!
服务器是用于“生产”的,可靠始终应该在第一位。5根链路绑一起,链路故障率就是上升了5倍。并且当其中一根链路出现问题,导致你出口丢包的时候,你该怎么办?你怎么知道是那根链路在丢包呢,根本无法排查?维护起来也一样,看上去入口也变成了5个,同样,你被攻击的几率也大了5倍,攻击者可以在5个网络中同时攻击你。另外你要整合的那个公网地址,是否可以在5个网络中路由,这个你知道吗?跨运营商的地址不一定可以打通,这个要去咨询运营商,又是一堆问题。综合起来维护难度比单独的一根要累得多。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)