1. 服务器方案
1.1. 独立部署服务器方案

- 角色定义
- 负载均衡: Load Balance
- Web服务:
API服务 - 队列:
可使用redis/rabbitmq - scheduler:
定时任务, 例如凌晨1点产生统计任务, 加入队列. - job:
处理队列中的任务 - neo4j:
图数据库 - redis:
Key-Value数据库 - OSS:
对象存储, 存储文件/图片/视频 - CDN:
CDN的全称是Content Delivery Network,即内容分发网络
1.1.1. 声明
- 本文方案所指皆为以阿里云, 其它云方方案可以此为基准.
- 数据库建议使用RDS. 如果不使用RDS, 请做好备份方案, 以免误操作造成数据丢失.
1.1.2. 入门级方案
- ECS1台 4核8g 100g高速硬盘
部署 redis/neo4j/ecshopX(web/Job/scheduler) - RDS 2核4g
- 七牛云 cdn 及 图片
方案简描述:
入门级方案, 不考虑高可用, 仅作为业务刚刚开始, 初始量级不大的情况下.
1.1.3. 标准方案

- 负载均衡
- ECS3台 4核8g 100g高速硬盘
- Web服务: ecs*2
- 定时任务/job/redis/neo4j ecs*1
- RDS: 2核4g
方案简描述:
优点
Web端提供两台服务器做负载均衡, 保证高可用. 队列任务分开部署, 将可异步处理的业务从前端业务中剥离, 后端的任务处理不影响API业务正常的相应. 一旦业务发生瓶颈, 可以方便增加Web机的数量, 提高RDS的配置. 以快速相应业务.
缺点
任务机上部署了过多的服务, 当任务服务器负载过重时, 快速扩展不易.
1.1.4. 进阶方案(根据业务侧重点调整方案配置)
- 负载均衡
- ecs 4核8g 40g ssd硬盘 * 6
- Web: ecs * 3
- Job: ecs * 2
- Scheduler/redis/neo4j: ecs * 1
- RDS 2核4g 100g * 1 集群版 便于扩展主从
- 七牛云 cdn 及 图片
- 日志服务
1.1.5. Kubernetes方案

- kubernetes 主节点: ecs 2核4g * 3
- kubernetes node 工作节点: ecs 4核8g * 3
- RDS 2核4g 100g * 1 集群版 便于扩展主从
1.2. 私有云方案(kubernetes)
服务器托管在商派集群. 使用kubernetes集群方案.
1.2.1. 入门方案(默认)
- 共享负载均衡
- 5核5g 容器资源
- RDS 2核4g 100g * 1
- 七牛云 cdn 及 图片
1.2.2. 标准方案
- 独享负载均衡
- ECS 4核8g 100g高速硬盘 * 2 (独享)
- RDS 2核4g
- 七牛云 cdn 及 图片
1.2.3. 进阶方案(根据业务侧重点调整方案配置)
- 独享负载均衡
- ECS 4核8g 100g高速硬盘 * 6 (独享)
- RDS 2核4g 100g * 1 集群版 便于扩展主从
- 七牛云 cdn 及 图片
