2023年初,Databricks的限流系统还很简单。一个Envoy网关,一个Ratelimit服务,一台Redis实例。这套架构应付日常流量绰绰有余,秒级限流的特性也让计数器可以暂存,无需持久化保障。
然后实时模型推理服务上线了。
![]()
单个客户产生的流量瞬间达到原有设计容量的数个量级。三条裂缝同时显现:负载下尾延迟飙升,跨服务P99延迟10到20毫秒的两跳网络成为瓶颈;加机器、堆缓存的常规手段很快失效;单点Redis实例的故障风险再也承受不起。
团队选择重构。而最值得关注的,是他们主动放弃了什么。
严格精确性在大规模场景下代价高昂。Databricks用准确性换取了更短的关键路径、水平扩展的计数器,以及一种"仿佛决策已提前完成"的响应机制。
剥开限流的外衣,本质是个计数问题:请求到达,定位计数器,比对阈值,放行或拒绝。核心设计在于计数器存哪、多快能读到。
旧架构里,计数器躺在Redis里。请求走Envoy,过Ratelimit服务,再调Redis——每请求两跳网络。在P99网络延迟10到20毫秒的云环境里,这两跳吃掉了一切。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.