🚀 部署模式
🛤️ 路由策略

🎲 随机路由 --policy random 随机选择工作进程

🔄 轮询路由 --policy round_robin 按顺序循环工作进程

⚡ 两选一策略 --policy power_of_two 选择两个中最少负载的

🧠 缓存感知(默认) --policy cache_aware 结合缓存优化和负载均衡

  • 平衡系统:缓存路由
  • 不平衡系统:最短队列

🛡️ 故障容错

  • 自动重试机制
  • 断路器保护
  • 动态扩展:添加/移除工作进程

curl -X POST "http://localhost:30000/add_worker?url=http://new-worker:port"

⚙️ 高级功能

  • Kubernetes 服务发现
  • Prometheus 监控
  • 请求追踪
  • 数据并行感知路由
  • 预填解码分离模式

🎯 SGLang Router 概述

高性能请求分发系统,支持缓存感知负载均衡、故障容错和高级部署模式,包括数据并行和预填解码分离。

关键特性:

  • 缓存感知负载均衡
  • 多种路由策略
  • 故障容错
  • 动态扩展
  • Kubernetes 集成

📦 安装和快速开始

pip install sglang-router

查看选项: python -m sglang_router.launch_server --help python -m sglang_router.launch_router --help

1️⃣ 共同启动模式

路由器和工作进程一起启动,最简单。

python -m sglang_router.launch_server
--model-path meta-llama/Meta-Llama-3.1-8B-Instruct
--dp-size 4
--host 0.0.0.0
--port 30000

2️⃣ 分离启动模式

适合多节点部署。

先启动工作进程,然后启动路由器:

python -m sglang_router.launch_router
--worker-urls http://worker1:8000 http://worker2:8001
--host 0.0.0.0
--port 30000

3️⃣ 预填解码分离

高级模式,分离预填和解码操作以优化性能。

python -m sglang_router.launch_router
--pd-disaggregation
--prefill http://prefill1:8000
--decode http://decode1:8001

📋 核心配置参数

  • --host, --port: 路由器地址
  • --policy: 路由策略
  • --worker-urls: 工作进程URL
  • --cache-threshold: 缓存阈值
  • --retry-max-retries: 重试次数

💡 学习提示

  1. 从共同启动模式开始
  2. 理解缓存感知路由的工作原理
  3. 监控 Prometheus 指标
  4. 参考完整文档获取详细参数
  5. 在 Kubernetes 中测试服务发现