DoorDash优化云基础设施成本的策略
DoorDash最近通过优化其云基础设施,显著降低了成本。公司在向微服务架构过渡时,面临跨可用区(AZ)数据传输成本增加的问题。为了解决这一问题,DoorDash在其基于Envoy的服务网格中实施了区域感知路由,充分利用了其基于单元的架构(Cell-Based Architecture)。
区域感知路由的实施
DoorDash在基于Envoy的服务网格中实施了区域感知路由,这一举措对降低云基础设施成本至关重要。通过区域感知路由,DoorDash能够有效地在同一可用区内定向流量,从而减少了跨可用区的昂贵数据传输。
Envoy的区域感知路由功能使得调用服务更倾向于将流量定向到同一可用区内的被调用服务,从而降低了跨可用区数据传输成本。在实施之前,Pod之间使用简单的轮询负载均衡器进行通信,导致跨可用区的额外费用。实施后,区域感知路由使得服务更倾向于在同一区域内进行通信。
技术实现细节
为了实现区域感知路由,DoorDash修改了其内部自定义服务网格控制平面,以便为Envoy提供每个节点的可用区信息。例如,DoorDash在端点发现响应中添加了区域信息,使得Envoy能够根据这些信息进行路由决策。
基于单元的架构
DoorDash的基于单元的架构(Cell-Based Architecture)在这一举措中起到了关键作用。这种架构借鉴了船舶的舱壁概念,将系统划分为自包含的隔离单元,以实现故障隔离。每个单元由多个Kubernetes集群组成,每个微服务仅部署在一个单元内的一个集群中。DoorDash的工程师将这些Kubernetes集群部署在多个可用区中,以增强可用性和容错性。
区域感知路由的优势
通过在这些单元中启用区域感知路由,DoorDash有效地本地化了流量,进一步减少了跨可用区的数据传输。这种方法不仅优化了网络效率,还增强了系统的整体弹性,因为它最小化了单个单元内故障的影响,提升了DoorDash微服务生态系统的稳健性。
成本节约与建议
虽然作者没有具体披露节约的百分比,但他们表示这些举措对DoorDash的数据传输成本产生了显著影响,甚至引起了云服务提供商的关注。他们总结道:
- 云服务提供商的数据传输定价比最初看起来要复杂,值得投入时间去理解定价模型以构建正确的效率解决方案。
- 全面了解所有跨可用区流量具有挑战性,但结合不同来源的网络字节指标可以识别热点,解决这些热点可以显著降低使用量和成本。
- 随着微服务调用图中跳数的增加,数据跨可用区传输的可能性也增加,增加了确保所有跳数支持区域感知路由的复杂性。
作者建议微服务系统的所有者关注其数据传输成本,并考虑使用服务网格,不仅因为其流量管理功能,还因为其在提高效率方面的潜力。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。