Hasty Briefsbeta

双语

How Zalando Built an In-Process Client-Side Load Balancer for One Million Reqs/S

18 hours ago
  • Zalando的工程团队为其高吞吐量的产品读取API开发了一个进程内客户端负载均衡器,该API每秒处理约100万次请求。
  • 该客户端负载均衡器路由高扇出内部流量,而Skipper仍用于边缘和单次GET请求,从而降低了延迟和基础设施成本。
  • 该解决方案使用一致性哈希(xxHash64,每个端点100个虚拟节点)来匹配Skipper的路由,从而在迁移过程中最小化缓存抖动。
  • 关键改进包括基于观察的Kubernetes通知器、快速可逆部署、用于缓存预热的N环渐进式引入以及更丰富的可观测性。
  • Skipper集群从50多个Pod缩减到8个,每日部署成本从450美元降至110美元,短暂的节点级冻结现在会自动绕过。
  • 团队警告不要构建自定义负载均衡器,除非在极端规模下,建议使用成熟的代理如Skipper或Envoy。
  • Hacker News的讨论质疑为何不向Skipper贡献代码,因为新的客户端负载均衡器仍为内部使用且未发布。