Hasty Briefsbeta

双语

Client-side load balancing at a million requests per second

12 days ago
  • #microservices
  • #load-balancing
  • #performance-optimization
  • 客户端负载均衡(CSLB)的构建旨在替代共享边缘入口负载均衡器,用于内部扇出流量,每秒处理超过一百万个请求。
  • 新增的关键功能包括用于逐步扩缩的N环淡入、基于占用率的有限负载以实现均匀分布,以及具有延迟健康因素的可用区感知路由。
  • 从Skipper迁移到CSLB降低了延迟峰值,提高了稳定性,并通过缩减Skipper舰队和通过更好的负载管理减少Pod数量来降低成本。
  • 实施过程包括使用xxHash64实现与Skipper的哈希一致性、通过基于watch的informer进行Kubernetes发现,以及为更快速、更安全的部署构建强化的流水线。
  • 强化措施包括重试策略、FIFO缓冲区和增强的日志记录,这些措施发现并缓解了节点级网络冻结问题,且未引发事故。
  • 经验教训:拥有路由决策权可提供有价值的遥测数据但增加了复杂性;缓存局部性与流量隔离存在冲突;快速部署流水线能降低风险。
  • 未来的工作包括恢复可用区感知路由试验,以评估成本节约与缓存碎片化之间的权衡,特别是在流量高峰事件期间。