⚡ 基础设施 · 架构创新

每秒 100 万次请求:Zalando 客户端负载均衡器如何成为 AI 推理时代的网络基座

Zalando 工程团队构建的客户端进程内负载均衡器,以每秒 100 万次请求的吞吐量,将延迟峰值压缩至可预测区间,同时将基础设施成本从每天 450 美元降至 110 美元。它的设计逻辑——一致性哈希、负载感知、渐进启动——正在为 AI 推理的高扇出场景提供工程范式。

综合公开信息整理 2026-07-24 全文约 4 分钟读完
#客户端负载均衡 #AI 基础设施 #Zalando #高吞吐架构
100 万 每秒请求吞吐量
50 → 8 Skipper 集群 Pod 缩减
$110 / 天 部署成本,从 $450 降至

⚡ 30 秒速览

  • 解决了什么:高扇出 API 调用中,传统边缘负载均衡器成为延迟瓶颈——一个批次等待 100 个跳点中最慢的一个,团队无法区分自身延迟与基础设施延迟。
  • 核心思路:将高扇出内部流量的路由决策从边缘代理(Skipper)移至调用进程内部,保留边缘代理处理单次请求。
  • 关键技术:一致性哈希(xxHash64,100 个虚拟节点)、基于占用率的负载均衡、30 秒渐进启动、Kubernetes informer 替代轮询。
  • 成本变化:每日部署成本从 450 美元降至 110 美元,Skipper 集群从 50+ Pod 缩减至 8 个。
  • AI 启示:AI 推理中高扇出、低延迟的场景,与 Zalando 的 Product Read API 面临同样的工程挑战——客户端负载均衡可能是答案。

01瓶颈在哪?边缘负载均衡器在高扇出场景下的局限

Zalando 的 Product Read API 为 25 个市场提供服务,每秒处理数百万次请求,延迟要求控制在个位数毫秒。关键路径上,一个批次端点会将单个请求拆分为多达 100 个并行调用,分别发送至各个产品 Pod,每个调用都经过 Skipper——一个共享的集群边缘负载均衡器。

问题在于:当一个批次等待 100 个跳点中最慢的一个时,团队无法将 Skipper 的延迟峰值与自身的延迟区分开来。这不是理论问题,而是生产环境中的实际困扰。

我们决定,对于高扇出量的内部流量,路由决策应由调用进程自身来完成。Skipper 最擅长处理的边缘流量,则应保持原状。——Zalando 高级首席工程师 Conor Gallagher

对比传统方案与客户端方案:

传统方案(Skipper 边缘)

共享边缘代理,所有流量经过同一跳板。高扇出场景下,最慢的 Pod 拖累整个批次,延迟不可预测。

客户端进程内方案

路由决策由调用进程自身完成,消除中间跳点。一致性哈希确保缓存稳定,无需额外协调。

注:Skipper 仍保留用于边缘和单次 GET 请求流量。客户端负载均衡器仅处理高扇出内部流量,不是替代,而是分离。

02工程实现的关键数字

100 万每秒请求吞吐量
100每个端点的虚拟节点数
30 秒渐进启动预热窗口
1 / N端点变更时键重新映射比例

这些数字背后是三个关键设计决策:

一致性哈希xxHash64 + 100 虚拟节点
精准
基于占用率的负载均衡而非随机或轮询
高效
渐进启动(^2.5 曲线)30 秒 N 环预热
稳定

注:第一项为团队自评,后两项为行业共识。一致性哈希确保缓存稳定性,占用率感知避免过载,渐进启动消除冷启动延迟峰值。

03两个关键工程决策

🔗 一致性哈希:缓存稳定的基石

  • 重新实现了 Skipper 的精确算法(xxHash64,每个端点 100 个虚拟节点),确保两条路径将相同的键路由到相同的 Pod。
  • 避免缓存分裂:迁移过程中,无需预热或重建缓存。
  • 添加或移除端点时,仅需重新映射约 1/N 的键,最大限度减少缓存波动。
通过单元测试验证:Skipper 和客户端库使用相同的哈希函数和虚拟节点数量,生成的环结构完全一致。

⏳ 渐进启动:消除冷启动延迟峰值

  • 采用基于 ^2.5 曲线的 30 秒 N 环渐进启动机制,确保新 Pod 仅预热其实际需要服务的产品。
  • 避免纵向扩展时出现的延迟峰值——新 Pod 不会一启动就接收全量请求。
  • 与 Kubernetes informer 结合,取代了会导致控制平面崩溃的轮询机制。
将原本耗时数小时的部署管道重构为快速且可逆的流程,通过开关将负载均衡器从 1% 逐步提升至 100%。

04为什么这对 AI 基础设施至关重要

AI 推理工作负载与 Zalando 的 Product Read API 共享一个关键特征:高扇出、低延迟

一个面向用户的 AI 应用,往往需要同时调用多个模型(文本、图像、搜索、排序),每个模型又可能部署在多个 Pod 上。传统的边缘负载均衡器在面对这种高扇出模式时,会重现 Zalando 遇到的同样问题:最慢的 Pod 成为瓶颈,延迟不可预测,成本不可控。

客户端负载均衡器提供了一种替代方案:

AI 推理请求客户端进程内路由一致性哈希到模型 Pod渐进启动可预测延迟

亚马逊云科技首席工程师 Alexey Kuznetsov 评论道:"当我从亚马逊云科技跳槽到谷歌时,客户端负载均衡对我来说堪称一次启示……我认为这种思路应该得到更多的重视。"

亚马逊首席技术官 Werner Vogels 写道:出于种种原因,我并不太赞成在客户端实现这种方案,但 Zalando 团队的这项工程设计确实令人印象深刻。

一个诚实的注脚:Zalando 的客户端负载均衡器并未公开发布,仅在内部使用。这意味着,对于大多数团队而言,除非有极端边缘案例,否则不应自行构建——像 Skipper 或 Envoy 这样的成熟代理,开箱即用,经过成千上万用户验证。

编辑核心判断

AI 推理的高扇出特性,正在将客户端负载均衡从"可选优化"推向"基础设施标配"。但自行构建的门槛极高——除非你面对的是真正的极端边缘案例,否则拥抱成熟代理,比重新发明轮子更明智。

进一步探索

Zalando 团队的技术博客详细介绍了完整实现,包括一致性哈希的代码示例、可观测性改进方案,以及可用区路由的实验教训。

Zalando 工程博客 → 阅读原文