RustGate 高性能云原生 API 网关产品系统

我要开发同款
amos2026年06月02日
31阅读

技术信息

语言技术
gRPCDockerRedisRust
系统类型
WebLinux
行业分类
云计算企业服务

作品详情

行业场景

在微服务架构下,团队需要统一的南北向流量入口。传统基于 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%。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论