内容提要
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。