vLLM Router:专为大规模推理设计的具备 Prefill/Decode 感知能力的高性能负载均衡器
在跨模型副本集群中高效管理请求分发是大规模生产级 vLLM 部署的核心需求。标准的负载均衡器往往力有不逮,因为它们缺乏对 LLM 推理有状态特性(如 KV 缓存)的感知,且无法管理预填充/解码分离(prefill/decode disaggregation)等复杂的推理模式。
为了解决这一问题,我们推出了 vLLM Router(Github 仓库),这是一款专为 vLLM 设计的高性能、轻量级负载均衡器。该路由采用 Rust 编写以实现极低的开销,作为智能的状态感知负载均衡器,部署在客户端与 vLLM 工作节点集群(无论是 K8s 还是裸机 GPU 集群)之间。
vLLM Router 衍生自 SGLang 模型网关 的一个分支,并针对 vLLM 进行了修改和简化。随着我们探索将该路由器合并到 vLLM 主仓库中,预计未来会进一步分化。另一方面,针对大规模部署的网关功能可能会与 SGLang 模型网关开发者协作统一。
核心架构与功能
vllm-router 旨在解决大规模推理中的两大主要挑战:智能负载均衡和对预填充/解码分离的支持。
1. 智能负载均衡策略
不同于简单的轮询(round-robin),vLLM Router 提供了多种复杂的负载均衡算法,以针对性能和状态亲和性进行优化。对于对话类工作负载,将来自同一用户的后续请求路由到持有其 KV 缓存的相同工作节点,对于最小化延迟至关重要。
为此,该路由器支持以下几种策略:
- 一致性哈希 (Consistent Hashing): 这是最大化性能的关键策略。它确保具有相同路由键(如会话 ID 或用户 ID)的请求具有“粘性”,并始终路由到同一个工作副本,从而最大化 KV 缓存的复用。
- 二选一 (Power of Two, PoT): 一种低开销的随机选择策略,可提供出色的负载均衡效果。
- 轮询与随机 (Round Robin & Random): 用于无状态负载分发的标准策略。
2. 对预填充/解码分离的原生支持
该路由器被设计为 vLLM 最先进推理架构的编排层:预填充/解码 (P/D) 分离。
在这种架构中,计算密集型的预填充步骤和内存密集型的解码步骤由独立的、专门的工作组处理。vLLM Router 管理这一复杂的工作流:
- 它智能地将新请求路由到预填充工作组。
- 完成后,它将请求状态引导至相应的解码工作节点进行 Token 生成。
- 它支持针对 NIXL 和 基于 NCCL(结合 ZMQ 发现) 的分离后端的发现与路由。
企业级韧性与可观测性
vllm-router 具备生产级特性,用于在大规模环境中维持高可用性。
- Kubernetes 服务发现: 该路由器可以以 Kubernetes 原生模式运行,使用标签选择器自动发现、监控并路由到 vLLM 工作节点 Pod。
- 容错机制: 它包含可配置的 重试逻辑(带有指数退避和抖动)以及 断路器。如果某个工作节点未通过健康检查,路由器会立即将其从路由池中移除并重试请求,防止级联故障。
- 可观测性: 内置的 Prometheus 端点 (
/metrics) 可导出关于请求量、延迟、错误率以及单个工作节点健康状况的详细指标,提供对推理集群的全方位视图。
基准测试分析:大规模场景下的性能之选
我们将全新的 vLLM Router 与两种广泛使用的替代方案进行了基准测试:
- llm-d: 一个 Kubernetes 原生路由框架,利用默认的队列感知负载均衡。
- vLLM-native: 标准的 K8s 原生负载均衡器,采用基础轮询策略。关键在于,此选项不具备预填充/解码状态感知能力,将所有 Pod 视为相同的 vLLM 副本。
关于排除项的说明: 我们在基准测试中排除了 vLLM 内置的 DP/EP 协调器——这是 vLLM 集群推荐的 外部负载均衡 方案。由于已知的 性能问题,其吞吐量仅为其他方案的 1/8。
Llama 3.1 8B,配备 8 个预填充 Pod 和 8 个解码 Pod
- vLLM Router(蓝线)的每秒请求数 (Req/S) 吞吐量比 llm-d(紫线)高 25%,比 K8s 原生负载均衡器(橘线)高 100%。
- vLLM Router 的首字延迟 (TTFT) 接近 K8s 原生负载均衡器,且比 llm-d 快 1200 毫秒。

Deepseek V3,配备 1 个预填充 Pod (TP8) 和 1 个解码 Pod (TP8)
- vLLM Router(蓝线)的每秒请求数 (Req/S) 吞吐量接近 llm-d(紫线),比 K8s 原生负载均衡器(橘线)高 100%。
- vLLM Router 的首字延迟 (TTFT) 比 llm-d 和 K8s 原生负载均衡器快 2000 毫秒。

总结
vLLM Router 是在生产规模下运行 vLLM 的核心组件。它将推理架构从一组独立的实例转变为一个统一、富有韧性的集群。通过提供智能负载均衡和对预填充/解码分离的原生支持,它开启了性能和运营效率的新高度。
致谢
- 感谢 Phi 和 AWS 团队提供技术支持和测试集群。
- 特别感谢 Naman Lalit 推动了全面的性能和正确性基准测试工作。
- 我们也要向 SGLang 模型网关团队表示感谢。通过 fork 他们成熟的 API 实现和服务框架,我们能够显著加速设计和实现过程,同时保持与开放标准的一致性。
- 最后,感谢 Tyler Michael Smith 和 Robert Shaw 分享 llm-d 的专业知识和实践经验,这为性能优化和基准测试扫清了障碍。