【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。

相关推荐
吴佳浩6 小时前
AI Infra 的真相:Go 没输,rust也不是取代
后端·rust·go
mit6.82411 小时前
并发协调的代价
rust
不爱学英文的码字机器14 小时前
[鸿蒙PC命令行移植适配]移植rust三方库sd到鸿蒙PC的完整实践
华为·rust·harmonyos
星栈14 小时前
Makepad 不只是画界面:事件、状态和组件通信,到底怎么写
前端·rust
绍磊leo14 小时前
Tauri 2.x 教程系列 (二):React 组件化与 Tauri 命令系统
rust·tauri
日火15 小时前
Are Mutexes Slow——互斥锁真的慢吗?
性能优化·rust
禁默15 小时前
[鸿蒙PC命令行移植适配]移植rust三方库eza到鸿蒙PC的完整实践
华为·rust·harmonyos
绍磊leo15 小时前
Tauri 2.x 教程系列 (一):Hello Tauri — 从零搭建第一个桌面应用
rust·tauri
smallswan15 小时前
第十七 位运算
rust
a诠释淡然1 天前
C++ vs Rust:哪个更适合你的下一个项目?
开发语言·c++·rust