在微服务架构下,团队需要统一的南北向流量入口。传统基于 Nginx+Lua 或 Java 的网关在高并发下存在 GC 抖动、内存占用高、插件开发门槛高等痛点。本项目用 Rust 重写网关核心,旨在解决高并发下延迟不稳定与资源浪费的问题,面向中大型互联网与企业服务团队,在单机数十万 QPS 场景下提供稳定低延迟(P99
点击空白处退出提示
在微服务架构下,团队需要统一的南北向流量入口。传统基于 Nginx+Lua 或 Java 的网关在高并发下存在 GC 抖动、内存占用高、插件开发门槛高等痛点。本项目用 Rust 重写网关核心,旨在解决高并发下延迟不稳定与资源浪费的问题,面向中大型互联网与企业服务团队,在单机数十万 QPS 场景下提供稳定低延迟(P99
1、反向代理与动态路由:支持基于 Host/Path/Header 的路由匹配,配置热更新无需重启;2、负载均衡:轮询、加权轮询、最少连接、一致性哈希多种策略;3、鉴权安全:内置 JWT、API Key、OAuth2 透传,支持 mTLS 双向认证;4、限流熔断:基于令牌桶/漏桶的多维度限流(IP、用户、接口),集成熔断与自动重试;5、可观测性:暴露 Prometheus 指标、OpenTelemetry 链路追踪与结构化访问日志;6、插件机制:基于 WASM 的插件扩展,支持自定义请求/响应处理逻辑;7、管理控制台:提供 Web 控制台与 RESTful 管理 API,统一管理路由、上游与证书。
我负责网关核心架构设计与 data-plane 全部开发。技术栈:Rust + Tokio 异步运行时,基于 Hyper/Axum 构建 HTTP 层,用 tower 抽象中间件处理链。架构上采用 control-plane / data-plane 分离,配置经 etcd 下发并以 ArcSwap 在内存中原子热替换,请求路径无锁化。性能优化包括连接池复用、bytes::Bytes 零拷贝转发、按 CPU 核数多 worker 调度,单机实测 12 万 QPS、P99 4.2ms,内存占用约为同等 Java 网关的 1/5。插件层集成 wasmtime 沙箱运行 WASM 插件;可观测数据经 OTLP 上报。交付 Docker 镜像与 Helm Chart,支持 Kubernetes 多副本与灰度发布,测试覆盖率 78%。



评论