首次将线上业务从传统架构迁移到AWS,以下是关于此次迁移的回顾和总结:
老的扑克头像CDN源架构如下:
玩家调用服务器上的php代码上传图片,图片存储在服务器本地磁盘,CDN源指向服务器。
存在几个问题:
- 服务器单点,一旦故障业务会受影响。
- 磁盘空间只有1T,现在使用率83%,存储空间可扩展性比较差。
- 磁盘空间使用率很高,但是CPU和内存使用率1%,严重不均衡,资源浪费严重。
- 服务器费用899美元/每月,比较高。
新设计的架构如下:
玩家通过负载均衡器调用php,后端有2台EC2,上传图片到亚马逊S3存储,CDN源指向亚马逊S3。
获得以下一些好处:
- 单点消除,一台上传服务器down机不影响业务。
- S3云存储解决可扩展性问题。
- 计算资源和存储资源分离,可以按各自的需求购买,减少资源浪费。
- 购买满足需求配置的ec2实例,每台费用约为75美元/月;S3存储费用约20美元/月;带宽费用约10美元/月。总成本约为180美元/月,降低五分之四。
也带来一些缺点:
- 需要在多台机器上部署代码,代码更新需要考虑同步问题。
- 架构复杂度上升,需要维护多几个组件和多台机器。
后续架构优化:
- 后端ec2考虑做autoscaling自动伸缩。
- S3存储设置life cycle规则。
总体来说得大于失,其他项目也可以考虑借鉴。
- 02 Sep 2017 » 前一篇:基于pxe/kickstart/tftp/http的linux操作系统深度自定义安装--原理与实践
- 02 Sep 2017 » 后一篇:Terraform管理AWS基础架构之一