💡
原文中文,约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双活架构的优势和实践案例。
❓
延伸问答
37Games的游戏平台在AWS上采用了什么样的架构设计?
37Games的游戏平台在AWS上采用了Multi Region双活架构,确保高可用性和灾难恢复。
Multi Region双活架构的主要优势是什么?
Multi Region双活架构提供了更高的韧性和灾难恢复能力,能够在一个Region发生故障时,另一个Region继续承载流量。
在37Games的架构中,如何实现数据同步?
数据同步依赖于Aurora Global Database和DynamoDB Global Tables,确保关系型和非关系型数据在多个Region间一致。
37Games如何处理流量分配?
流量分配通过Route53和CloudFront实现,确保玩家流量就近接入并根据策略分配到不同的Region。
Aurora Global Database的failover过程是怎样的?
当primary region发生故障时,Aurora Global Database会提升一个secondary cluster为primary,并监控故障region的恢复。
37Games在AWS上实施的架构有哪些关键AWS服务?
关键AWS服务包括Route53、CloudFront、Aurora Global Database和DynamoDB Global Tables。
➡️