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

相关推荐
古城小栈4 小时前
Rust复合类型 四大军阀:数、元、切、串
开发语言·后端·rust
张心独酌7 小时前
学习Rust:实现RESTful 任务管理 API(Todo API)
学习·rust·restful
王燕龙(大卫)12 小时前
rust入门
开发语言·rust
沛沛rh4514 小时前
Rust入门一:从内存安全到高性能编程
开发语言·安全·rust
爱编程的小庄1 天前
Rust初识
开发语言·rust
爱编程的小庄1 天前
Rust 发行版本及工具介绍
开发语言·后端·rust
skywalk81631 天前
FreeBSD下安装rustup、cargo和uv
开发语言·python·rust·cargo
咸甜适中2 天前
双色球、大乐透兑奖分析小程序(rust_Tauri + Vue3 + sqlite)
爬虫·rust·sqlite·vue3·tauri2
rustfs2 天前
使用 podman 容器化安装 RustFS 详细指南
docker·rust·podman
FAFU_kyp3 天前
Rust 泛型(Generics)学习教程
开发语言·学习·rust