了解项目
在开始部署之前,先了解 EasyFly-Ads 的项目架构、技术栈和组成模块,帮助你快速掌握整体情况并做好部署规划。
项目架构
mermaid
flowchart TB
subgraph 管理后台
ADMIN[管理后台 Web]
end
subgraph 后端服务
API[API 网关]
USER[用户服务]
AD[广告服务]
PAY[支付服务]
RISK[风控服务]
MSG[消息服务]
end
subgraph 数据层
DB[(MySQL)]
REDIS[(Redis)]
ES[(Elasticsearch)]
end
subgraph 客户端
APP[iOS/Android App]
MINIAPP[微信小程序]
end
ADMIN --> API
APP --> API
MINIAPP --> API
API --> USER
API --> AD
API --> PAY
API --> RISK
API --> MSG
USER --> DB & REDIS
AD --> DB & REDIS & ES
PAY --> DB & REDIS
RISK --> DB & REDIS技术栈
| 模块 | 技术选型 |
|---|---|
| 管理后台前端 | Vue 3 + Vite + Element Plus |
| API 网关 | Nginx / Kong |
| 后端框架 | Java (Spring Boot) / Go (Gin) / Node.js |
| 数据库 | MySQL 8.0 |
| 缓存 | Redis 6+ |
| 搜索引擎 | Elasticsearch 7+ |
| 消息队列 | RabbitMQ / Kafka |
| 对象存储 | 阿里云 OSS / MinIO |
| 监控 | Prometheus + Grafana |
系统组成
后端微服务
| 服务名 | 职责 |
|---|---|
| 用户服务 | 用户注册、登录、信息管理、关系链 |
| 广告服务 | 广告位管理、广告投放、数据上报 |
| 支付服务 | 金币系统、收益结算、提现打款 |
| 风控服务 | 行为分析、风险识别、黑名单管理 |
| 消息服务 | 小程序推送、短信通知、邮件通知 |
| 统计服务 | 数据统计、报表生成、趋势分析 |
管理后台模块
- 用户管理
- 代理商管理
- 广告管理
- 财务管理
- 风控管理
- 系统设置
客户端 SDK
- Android SDK:集成广告展示、数据上报、金币系统
- iOS SDK:功能同 Android
- 小程序插件:微信小程序广告集成
部署环境要求
| 环境 | 配置要求 |
|---|---|
| 操作系统 | CentOS 7+ / Ubuntu 18.04+ |
| CPU | 4核及以上 |
| 内存 | 8G 及以上 |
| 磁盘 | 100G SSD 及以上 |
| 带宽 | 5Mbps 及以上 |
部署方式
| 方式 | 适用场景 | 难度 |
|---|---|---|
| Docker Compose | 中小规模、快速部署 | 低 |
| Kubernetes (K8s) | 大规模、高可用、弹性伸缩 | 中 |
| 手动部署 | 开发测试、定制化需求 | 中 |
| 云服务 | 快速上线、免运维 | 低 |