市面上的 GPU 内核与推理引擎优化项目并不少见,传统云原生方向也有 AI 网关的身影,但真正一体化、AI 原生的编排解决方案几乎处于空白状态。在实际生产环境中,大多数人仍在拼凑“缝合怪”——手动组合各种组件,边调试边头疼。Oracle 与 SGLang 团队显然洞察到了这一缺口,直接推出了生产就绪的 SGLang Model Gateway 0.2。
SGLang Model Gateway 架构图
版本号从 0.1 跃升至 0.2,名字则从 SGL-Router 彻底重构而来——这不是小修小补,而是一次架构层面的全面升级。
核心升级:多模型推理网关模式(IGW)
一个网关统一管理多个模型,每个模型可各自独立配置路由策略、健康检查与负载均衡。想象一下:在同一屋檐下同时运行多个路由器,共享一套可靠性机制和监控能力,省去重复造轮子的烦恼。
Rust gRPC 驱动:彻底绕过 Python 和 HTTP 瓶颈
流式处理要想快,依赖 Python 运行时显然不够。SGLang Model Gateway 直接用 Rust 实现 gRPC 路由层,分词器、推理解析器、工具解析器全部在进程内完成,不再受慢速的 HTTP 和 Python 层拖累。同时支持 OpenAI 兼容 API 与缓存分词功能。
可插拔存储与隐私保护
对话历史与响应历史可以存放在路由器层——可选内存、无存储或 Oracle ATP。这意味着同一份历史记录可为多个模型或 MCP 循环提供服务,数据不会泄露给上游厂商。所有对话历史、/v1/responses 状态和 MCP 会话都牢牢留在路由器内部,用户隐私更有保障。
可靠性 & 监控:该有的全都有
内置重试机制,支持指数退避与抖动;每个工作节点配有断路器;令牌桶限流搭配 FIFO 排队。监控方面提供 Prometheus 指标、结构化追踪、请求 ID 传播,以及详细的任务队列统计。生产环境所需的一切,一个都不少。
三层架构
整个体系清晰划分为三层:
- 控制平面:负责工作节点管理——服务发现、负载追踪、节点注册与移除。
- 数据平面:包含 HTTP 路由器(常规与 PD 两种)、gRPC 路由器以及 OpenAI 路由器。
- 存储层:集中管理历史记录,防止数据外泄。
部署方式:灵活,不止一种
联合启动模式适合单节点或快速验证:
python3 -m sglang_router.launch_server --host 0.0.0.0 --port 8080 --model meta-llama/Llama-3.1-8B-Instruct --tp-size 1 --dp-size 8 --grpc-mode --log-level debug --router-prometheus-port 10001 --router-tool-call-parser llama --router-health-success-threshold 2 --router-health-check-timeout-secs 6000 --router-health-check-interval-secs 60 --router-model-path meta-llama/Llama-3.1-8B-Instruct --router-policy round_robin --router-log-level debug
也可以分离启动,工作节点独立运行:
# Worker nodes
python -m sglang.launch_server --model meta-llama/Meta-Llama-3.1-8B-Instruct --port 8000
python -m sglang.launch_server --model meta-llama/Meta-Llama-3.1-8B-Instruct --port 8001
# Router node
python -m sglang_router.launch_router --worker-urls https://worker1:8000 https://worker2:8001 --policy cache_aware --host 0.0.0.0 --port 30000
想要极限吞吐量?可直接使用 SRT gRPC 工作节点。还支持预填充/解码分离,以及 OpenAI 后端袋里。Kubernetes 集成通过 pod 选择器自动发现工作节点,省心不少。
向后兼容方面,所有 0.1.x 版本的 CLI 标志和 API 都能继续使用——重命名并没有破坏已有生态。对于正在将 SGLang 作为推理后端的团队来说,这次升级值得密切关注。
