Agoda 开发了 Storefront,这是一个基于 Pingora 构建的 Rust 语言 S3 兼容反向代理,旨在解决基于 DNS 的负载均衡热点问题,并为其大规模数据平台集中化身份验证。
📝 详细摘要
Agoda 工程团队创建了 Storefront,以解决其 S3 兼容存储系统中因 DNS 轮询缓存导致的负载分布不均问题。该反向代理使用 Rust 和 Pingora 框架构建,实现了延迟感知评分和最少传输中(least-in-flight)算法,从而有效地平衡了后端节点的流量。除了路由功能外,Storefront 还通过 IO 超时和 HTTP 头部优化增强了可靠性,并通过基于 Kubernetes Pod 标识的无凭证身份验证简化了安全性。它作为关键基础设施组件,通过 OpenTelemetry 提供了深度可观测性。
💡 主要观点
- Storefront 使用主动请求分发取代了 DNS 轮询,消除了后端热点。 客户端 DNS 缓存通常会导致流量不均;Storefront 使用延迟感知评分和最少传输中算法,确保实时平衡存储节点的利用率。
💬 文章金句
- 该代理位于内部服务和后端对象存储系统之间,在路由请求的同时,解决了团队在基于 DNS 的负载均衡中观察到的局限性。
- Storefront 从一个简单的反向代理演变为我们数据基础设施的核心组件。
- 这种方法集中了权限管理,使服务能够安全地访问对象存储,而无需直接处理凭证。
📊 文章信息
AI 评分:88
来源:InfoQ
作者:Leela Kumili
分类:软件编程
语言:英文
阅读时间:2 分钟
字数:412
标签: 反向代理, Rust, Pingora, 负载均衡, S3 存储