一个基于 Koa.js 的高性能 API 计费网关,支持按月计费和按调用量计费。
- 支持多种计费模式:
- 按月固定额度计费
- 按实际使用量计费
- 高性能设计:
- 使用 Redis 进行速率限制和临时数据缓存
- MongoDB 用于持久化存储
- 异步处理计费记录
- 完善的错误处理和日志记录
- RESTful API 设计
- 实时使用量统计
- 灵活的计费策略配置
- Node.js >= 14
- MongoDB >= 4.4
- Redis >= 6.0
# 克隆项目
git clone [repository-url]
# 安装依赖
npm install
# 配置环境变量
cp .env.example .env
# 编辑 .env 文件配置相关参数
# 启动服务
npm start
所有 API 请求都需要在 header 中包含 X-API-Key
GET /billing/usage/:year/:month
GET /billing/bill/:year/:month
PUT /billing/plan
请求体示例:
{
"billingPlan": "monthly",
"monthlyQuota": 10000,
"usageRate": 0.01
}
- 使用 Redis 进行速率限制和临时数据缓存
- MongoDB 索引优化
- 异步处理计费记录
- 批量处理和聚合查询
- API 密钥认证
- 速率限制
- 输入验证
- 错误处理
- 敏感信息加密
- 支持多种货币
- 添加计费预警功能
- 支持自定义计费规则
- 添加计费报表导出功能
- 集成支付网关

MIT