光在光纤的传输速率为20万公里每秒,100公里的网络传输一个来回需要1ms,这是物理规律,解决不了的。
剩下的事就是如何设计方案来接受这个延迟。
网络延迟问题不是太大,应用层设计到可接受的程度即可,毕竟新疆访问上海机房的数据跨着几千公里都能忍受,何况再加个几十公里。
数据库心跳受影响会比较大,这儿不仅有网络延时的问题,更重要的网络抖动的问题,毕竟隔着几十公里,网络质量不可能太好,很容易对心跳造成影响,把集群中的节点踢出去。对于跨双中心的数据库,100公里的距离,估计能支撑100左右的TPS。如果需要10000以上的TPS,那么两个站点的距离得在20公里以内。
存储对延迟最为敏感,这也是大量存储双活技术存在的原因所在,通过存储双活技术,可以实现本地读,但写惩罚是免不了的。