← 回總覽

深入了解 Agoda 的 Storefront:一种用于改进基于 DNS 的负载均衡的延迟感知反向代理

📅 2026-03-27 22:11 Leela Kumili 软件编程 1 分鐘 1188 字 評分: 88
反向代理 Rust Pingora 负载均衡 S3 存储
📌 一句话摘要 Agoda 开发了 Storefront,这是一个基于 Pingora 构建的 Rust 语言 S3 兼容反向代理,旨在解决基于 DNS 的负载均衡热点问题,并为其大规模数据平台集中化身份验证。 📝 详细摘要 Agoda 工程团队创建了 Storefront,以解决其 S3 兼容存储系统中因 DNS 轮询缓存导致的负载分布不均问题。该反向代理使用 Rust 和 Pingora 框架构建,实现了延迟感知评分和最少传输中(least-in-flight)算法,从而有效地平衡了后端节点的流量。除了路由功能外,Storefront 还通过 IO 超时和 HTTP 头部优化增强了可靠

📌 一句话摘要

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 使用延迟感知评分和最少传输中算法,确保实时平衡存储节点的利用率。

该代理基于 Rust 和 Cloudflare 的 Pingora 框架构建,具有高性能和高可靠性。 利用 Pingora,Agoda 能够构建一个定制化的、兼容 S3 的代理,处理跨数据中心流量,并优化特定的 HTTP 行为(如 '100-continue' 头部)以降低延迟。
无凭证身份验证简化了分布式工作负载的安全管理。 通过识别调用方的 Kubernetes Pod,Storefront 在内部应用访问控制,无需各个服务管理或泄露存储凭证,从而简化了合规性。

💬 文章金句

- 该代理位于内部服务和后端对象存储系统之间,在路由请求的同时,解决了团队在基于 DNS 的负载均衡中观察到的局限性。

  • Storefront 从一个简单的反向代理演变为我们数据基础设施的核心组件。
  • 这种方法集中了权限管理,使服务能够安全地访问对象存储,而无需直接处理凭证。

📊 文章信息

AI 评分:88

来源:InfoQ

作者:Leela Kumili

分类:软件编程

语言:英文

阅读时间:2 分钟

字数:412

标签: 反向代理, Rust, Pingora, 负载均衡, S3 存储

阅读完整文章

查看原文 → 發佈: 2026-03-27 22:11:00 收錄: 2026-03-28 00:00:29

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。