我目前有一个通过AWS cloudfront在全球范围内分发的反应式Web应用程序。
我想知道如何构建服务器和数据库,以便它们也是全局分布的。尽可能无服务的奖金
我现在的想法和知识与以下内容一致:
1)您应该将服务器转换为docker镜像,并使用kubernetes或AWS Fargate等容器管理解决方案运行它。这样它就没有服务器,你可以将集群部署到不同的区域。
2)DB是瓶颈。如果您选择关系数据库,即使是与Aurora兼容的PostgreSQL,您也无法在AWS区域上分发数据库。即使你做了云,你只做一个阅读副本。我应该忘记全球分布的关系数据,还是应该从AWS中选择另一个数据库产品?
1.)使用部署到多个地区的API GW
+ Lambda
(恕我直言,它比无操作的Kubernetes/Fargate
更无服务器,但并非所有应用程序都是无服务器友好的)。使用Route 53
和延迟路由策略,因此用户将被路由到具有最佳延迟的区域。
2.)Aurora
也有Global
版本(只有MySQL) - https://aws.amazon.com/rds/aurora/global-database/