💡
原文中文,约5000字,阅读约需12分钟。
📝
内容提要
37Games是一家成立于2011年的全球前20大游戏公司。本文讨论了37Games游戏平台在AWS上的部署以及跨区域主动-主动架构的实施。文章解释了游戏平台服务的架构设计以及在可用性方面面临的挑战。还介绍了多区域主动-主动架构,确保高可用性和灾难恢复。文章讨论了架构的访问层、应用层和数据层,以及流量分发和数据同步方法。强调了使用AWS服务如Route53、CloudFront、Aurora Global Database和DynamoDB Global Tables的优点。文章最后强调了通过这种架构实现的改进的可用性、容错性和灾难恢复能力。
🎯
关键要点
- 37Games成立于2011年,是全球前20大游戏公司。
- 本文讨论37Games游戏平台在AWS上的部署及跨区域主动-主动架构的实施。
- 游戏平台服务负责管理玩家账号和支付流程,需注重高可用性和容灾能力。
- 游戏平台服务架构通常采用三层架构,现多使用Kubernetes容器化部署。
- 可用性挑战包括硬件故障、自然灾害和网络链路故障。
- AWS托管服务的韧性特性可帮助优化架构,提高可用性。
- 37Games平台服采用Multi Region双活设计,提升韧性和灾难恢复能力。
- Access Tier使用Route53和CloudFront实现流量分配,确保玩家就近接入。
- Application Tier更新CI/CD流程,保证两个Region的业务代码一致。
- Data Tier依赖Aurora Global Database和DynamoDB Global Tables实现跨Region数据同步。
- Aurora Global Database支持跨Region数据同步,提供低延迟读操作。
- DynamoDB global tables提供全托管的多活读写端点,采用last-writer-wins策略解决数据冲突。
- 容灾策略需经过测试,确保在故障时能有效切换流量和业务逻辑。
- Aurora Global Database的failover过程包括提升secondary cluster为primary,恢复故障region。
- 本文总结了37Games在AWS上采用的Multi-Region双活架构的优势和实践案例。
➡️