1. 服务器方案

1.1. 独立部署服务器方案

deploy.jpg

  • 角色定义
    • 负载均衡: 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. 标准方案

deploy_3.jpg

  • 负载均衡
  • 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_deploy.jpg

  • 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 及 图片

results matching ""

    No results matching ""