知识卡片
边缘服务器的隐性代价
内容
把安全、限流、熔断、重试这些横切关注点集中放到系统入口的边缘服务器上,好处很直观,但代价容易被忽略:它是一个额外需要构建、部署、运维的组件;请求路径里多了一跳网络转发,响应时间会因此增加(通常不明显但确实存在);更关键的是,边缘服务器作为整个系统唯一的入口,天然就是一个潜在的单点故障——它一旦挂了,所有流量都进不来,不管后面的服务是不是健康的。缓解办法和[[配置服务器的单点故障与快速失败]]是同一个思路:至少部署两个副本,不能让”系统入口”本身成为系统里唯一没有冗余的一环。发散:这提醒了一个容易被忽略的架构陷阱——越是被设计成”集中处理横切关注点”的组件,越容易在无形中变成整个架构里可用性要求最高的那个节点,因为它是唯一一个”挂了会波及所有流量”的地方,这个隐性的高可用要求常常没有被明确写进设计文档里。
参考来源
《Cloud Native Spring in Action》第9章《API gateway and circuit breakers》