Appearance
LiteGate - 轻量 API 网关
项目概述
LiteGate 是一个轻量级的 API 网关管理平台,实现接口的统一管理、应用授权、流量控制和中转代理功能。它为企业级应用提供了安全、可靠、高效的 API 管理解决方案,帮助开发者和企业更好地管理和监控 API 接口。

核心特性
📋 应用管理
- 支持多应用注册和管理
- 应用密钥生成和管理
- 应用权限控制和角色管理
- 应用状态监控和统计
🔗 API 管理
- 支持 RESTful API 和 GraphQL API
- API 路由配置和管理
- API 版本控制
- API 文档自动生成
🛡️ 安全特性
- HTTPS 支持
- HMAC-SHA256 签名认证
- API 密钥管理
- 访问控制和权限管理
- 防止 SQL 注入和 XSS 攻击
📊 流量控制
- 基于 IP 的限流
- 基于应用的限流
- 基于 API 的限流
- 流量统计和分析
- 异常流量检测
📈 监控和统计
- 实时流量监控
- API 调用次数统计
- 响应时间分析
- 错误率统计
- 性能分析和优化建议
🚀 部署方案
- 容器化部署(Docker)
- 集群部署支持
- 高可用配置
- 负载均衡
- 自动扩展
技术栈
后端
- 语言:Go 1.21+
- Web 框架:Gin
- 数据库:SQLite / PostgreSQL
- 缓存:Redis
- 认证:JWT + HMAC-SHA256
- 监控:Prometheus + Grafana
前端
- 框架:Vue 3.4+
- 状态管理:Pinia
- UI 库:Element Plus
- 构建工具:Vite
- HTTP 客户端:Axios
- 图表库:ECharts
部署
- 容器:Docker
- 编排:Kubernetes
- CI/CD:GitHub Actions / GitLab CI
项目结构
litegate/
├── backend/ # 后端代码
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── services/ # 业务逻辑
│ │ ├── models/ # 数据模型
│ │ └── schemas/ # 数据结构
│ ├── config/ # 配置文件
│ ├── middleware/ # 中间件
│ ├── utils/ # 工具函数
│ ├── main.go # 应用入口
│ └── go.mod # 依赖管理
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── components/ # 组件
│ │ ├── views/ # 页面
│ │ ├── store/ # 状态管理
│ │ ├── router/ # 路由
│ │ ├── utils/ # 工具函数
│ │ ├── App.vue # 应用主组件
│ │ └── main.js # 应用入口
│ ├── public/ # 静态资源
│ ├── index.html # HTML 模板
│ ├── vite.config.js # Vite 配置
│ └── package.json # 依赖管理
├── docker/ # Docker 配置
└── README.md # 项目说明技术实现
API 网关核心
- 请求路由:基于配置的路由规则,将请求转发到对应的后端服务
- 认证授权:验证请求的合法性,确保只有授权的应用可以访问 API
- 流量控制:根据配置的规则,限制 API 的调用频率和并发数
- 日志记录:记录所有 API 调用的详细信息,便于调试和分析
- 错误处理:统一处理 API 调用过程中的错误,返回标准的错误格式
安全机制
- API 密钥:为每个应用生成唯一的 API 密钥,用于身份验证
- 签名认证:使用 HMAC-SHA256 算法对请求进行签名,防止请求被篡改
- HTTPS:支持 HTTPS 协议,确保数据传输的安全性
- 访问控制:基于角色的访问控制(RBAC),限制用户对资源的访问权限
监控系统
- 实时监控:实时监控 API 的调用情况,包括调用次数、响应时间、错误率等
- 性能分析:分析 API 的性能瓶颈,提供优化建议
- 告警机制:当 API 出现异常时,及时发送告警通知
应用场景
- 企业级应用:为企业内部系统提供统一的 API 管理和访问控制
- 微服务架构:作为微服务架构的入口,统一管理和路由所有服务的 API
- SaaS 平台:为 SaaS 平台提供 API 管理和计费功能
- 移动应用后端:为移动应用提供安全、可靠的 API 访问
- 第三方集成:管理和监控第三方服务的 API 调用
优势
- 轻量高效:基于 Go 语言开发,性能优异,资源占用低
- 易于部署:支持多种部署方式,包括容器化部署和传统部署
- 灵活配置:提供丰富的配置选项,满足不同场景的需求
- 安全可靠:内置多种安全机制,保障 API 的安全性
- 易于扩展:模块化设计,易于添加新功能和集成第三方服务
未来规划
- 添加更多认证方式,如 OAuth 2.0、OpenID Connect 等
- 实现 API 市场功能,允许开发者发布和共享 API
- 添加 API 测试和调试工具
- 支持更多协议,如 WebSocket、gRPC 等
- 提供更丰富的监控和分析功能
- 开发 SDK 和 CLI 工具,方便开发者使用
