🎲 随机路由 --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: 重试次数
💡 学习提示
- 从共同启动模式开始
- 理解缓存感知路由的工作原理
- 监控 Prometheus 指标
- 参考完整文档获取详细参数
- 在 Kubernetes 中测试服务发现