Q08·问题驱动
为什么网络是不可靠的?
深入解答
网络的不可靠性源于物理和协议层面的多重因素。在 L6(计算机组成)层面,数据包通过电信号或光信号传输,会受到电磁干扰、信号衰减、时钟抖动的影响;在 L11(数据密集型软件)层面,网络拥塞会导致路由器丢弃数据包(TCP 通过重传和拥塞控制应对),链路故障会导致路由切换(BGP 收敛需要数秒到数分钟);在 L13(分布式架构)层面,网络分区(partition)会导致节点间无法通信,消息可能延迟、丢失、重复、乱序。应对策略:超时重试(指数退避避免雪崩)、幂等性设计(重复请求产生相同结果)、熔断器(快速失败防止级联故障)、最终一致性(接受短暂的不一致)。