阿里云-高并发易扩展的系统架构方案

业务场景

公司有一些活动, 参加人数20万左右, 活动现场报名,门禁,签到等, 特别是活动当前排队入场人数几百米, 需要一个高性能的易扩展的服务器方案.

架构方案

高并发架构图

服务器选型

  1. 一周新服务器, 64核心64G主服务器, 用于现场报名, 负载均衡标准版 + 弹性伸缩(24核24G)
  2. 阿里云MySQL服务器, 内网, 16核32G
  3. 阿里云Tair(Redis)服务器, 内网, 2节点(1主1备) 2G分片

费用:
1.64核心64G, 7天1528.43元
2.负载均衡一周按量计费, 预计500元
3.弹性伸缩(24核24G)按使用量计费, 预计5元/小时/台, 预留600元
4.阿里云MySQL服务器16核32G, 7天, 内网, 1557.50元
5.阿里云redis服务器, 按量付费, 内网, 3节点(1主2备)2G分片, 1000元左右

合计: 5185.93元, 申请10000元备用

任务事项

程序部分

  • 巡检所有页面及其API, 观察其耗费资源的页面
  • 所有资源文件(image/css/js)部署到OSS
  • 短信通知其回执入口, 方便现场直接打开回执, 而不用走登录等一些列流程
  • 制作简单报名系统(方便出问题后代替)

架构部分

  • 制作项目的镜像, 并设置ip可访问项目
  • 开启阿里云负载均衡, 并测试多服务器分流
  • 开启阿里云弹性伸缩, 镜像使用预制的项目镜像, 并测试扩容, 扩容服务器自动关联到阿里云负载均衡
  • 完成压力测试
  • 是否考虑加大负载均衡带宽(默认单条200M)
  • 购买阿里云MySQL, 并设置集群模式, 一写多读, 代理模式无感集成到项目中, 设置MySQL备份策略(1小时一次), 预演无感增加MySQL备份节点
  • 购买阿里云Redis, 并设置集群模式, 多分片, 代理模式无感集成到项目中, 注意多分片批量取数据时报错, 预演无感证件Redis分片

数据迁移和同步

  • 将数据迁移到阿里云MySQL(1.迁移准备;2.关闭api;3.一键迁移;4.校验主表迁移数量;5.更换MySQL地址;6.打开api;7.查看迁移效果)
  • 将缓存迁移到阿里云Redis(1.迁移准备;2.更换Redis地址;3.重写token到新缓存;4.查看迁移效果)
  • 将域名迁移到负载均衡(1.迁移准备;2.负载均衡正确设置;3.更换域名解析;4.查看效果)

资源监控

  • 监控多台服务器的CPU/内存/硬盘
  • 监控阿里云MySQL服务器资源, CPU>30% 升级服务器
  • 监控阿里云Redis服务器资源, CPU>30%, 内存>30% 升级服务器
  • 监控短信剩余量
  • 监控身份证识别剩余量
  • 监控ocr识别剩余量

其他

扩展阅读

此处评论已关闭