【aiway】一个Rust实现的API网关

最近用Rust实现了一个API网关,开源地址:https://github.com/xgpxg/aiway

欢迎感兴趣的同学一起改进它。

功能

目前实现了以下功能:

  • 动态路由
  • 服务管理(支持随机和轮询负载)
  • 插件系统
  • 安全验证(防火墙)
  • 统一API Key管理
  • 日志存储和监控
  • 可视化
  • 支持单机/集群部署

协议支持

目前仅支持HTTP和SSE,后续将会扩展到更多协议。

原理

网关核心使用 Rocket + Reqwest 实现,Rocket接收请求,Reqwest 转发请求。

基于Rocket的Fairing,扩展实现了路由匹配、防火墙、负载、日志等组件。

性能

网关和测试服务都部署在 i7-12700K 的Ubuntu系统上,单机QPS为7w左右,内存占用约250M。

在不请求后端服务(仅网关自身)时,QPS约30W。

相关推荐
古城小栈2 小时前
从 cargo-whero 库中,找到提升 rust 的契机
开发语言·后端·rust
techdashen7 小时前
Cloudflare 为何抛弃 NGINX,用 Rust 自研了一个代理
运维·nginx·rust
Mr.Rice.Fool10 小时前
rust面试经验1
后端·面试·职场和发展·rust
本地化文档11 小时前
rust-nomicon-l10n
rust·github·gitcode
代码羊羊11 小时前
Rust 格式化输出完全攻略:从入门到精通
开发语言·后端·rust
Rust研习社11 小时前
Rust + PostgreSQL 极简技术栈应用开发
开发语言·数据库·后端·http·postgresql·rust
古城小栈13 小时前
rust 亿级并发模型,实践完成
开发语言·网络·rust
qcx2313 小时前
Warp源码深度解析(一):GPU加速+AI Agent的下一代终端架构全景
人工智能·架构·rust
暮色念了红尘14 小时前
CC Switch — Ubuntu 20.04 可用版本
ubuntu·ai·rust·ubuntu 20.04·vibe coding·cc swich