FlowPilot 是一个基于 Node.js (Egg.js) 的实验分流与泳道平台,支持实验管理、流量分配、一致性哈希分流。
- 🎯 一致性分流 - 基于 MurmurHash3 的一致性哈希,确保同一用户始终进入同一分组
- 🚀 高性能 - Redis 缓存加速,毫秒级分流响应
- 📊 可视化管理 - React + Ant Design 管理后台
- 🔧 灵活配置 - 支持流量比例、白名单等多种分流策略
- 📈 数据统计 - 实时流量统计与分析
| 类型 | 技术 |
|---|---|
| 后端框架 | Egg.js 3.x |
| 数据库 | MySQL 8.0 |
| 缓存 | Redis 6.0 |
| 前端框架 | React 19 |
| UI 组件库 | Ant Design 6 |
| ORM | Sequelize |
├── app/
│ ├── controller/ # 控制器
│ ├── service/ # 服务层
│ ├── model/ # 数据模型
│ └── public/ # 静态资源
├── config/ # 配置文件
├── docs/ # 技术文档
│ └── TECHNICAL_DESIGN.md
├── admin-frontend/ # 管理后台前端
└── database/ # 数据库迁移脚本
- Node.js >= 18.0.0
- MySQL >= 8.0
- Redis >= 6.0
npm install编辑 config/config.default.js,配置 MySQL 和 Redis 连接信息。
npm run db:init# 开发模式
npm run dev
# 生产模式
npm startcd admin-frontend
npm install
npm run devGET /api/ab/allocate?userId=user123&experimentKey=homepage_button响应:
{
"code": 0,
"data": {
"experimentKey": "homepage_button",
"groupKey": "treatment",
"groupName": "实验组",
"config": {
"buttonColor": "#FF5722"
}
}
}- 技术设计文档 - 详细的系统设计、架构说明
- 项目初始化
- 技术文档编写
- 数据库模型设计
- 分流核心服务
- 实验管理 API
- 管理后台前端
- 统计功能
MIT