在全球范围内使用数据库

问题描述

我有一个通用要求,就像任何其他大型应用程序一样,我希望我在亚洲的用户能够以最低的延迟(最快的速度)访问我在美国地区托管的网站,目前,它并没有这样做。

以下是我的基础设施:


  1. 应用服务器:4 核 + 16 GB RAM,(最大 CPU 使用率为 15-20%,
    天)。

  2. 一个数据库服务器 + 1 个只读副本:4 核 + 32 GB RAM(两者)(最大 CPU 使用率为 15-20% 一天)。带有 MYSQL 的 AWS Aurora 数据库


有了这个基础设施,我面临延迟(速度)问题,我的互联网连接非常好且稳定。

为了解决这个问题,我在亚洲地区配置了一个应用服务器,并配置了地理位置路由来将用户从亚洲重定向到这个服务器,但是数据库出现问题,现在我不想使用新的数据库,我想要使用我现有的数据库,我可以在亚洲创建副本,但这些副本不提供写入功能,并且由于我收到的延迟和性能,将我的亚洲应用服务器连接到美国数据库服务器根本没用。>

我已经探索在亚洲地区创建另一个数据库实例并开始连续复制,但由于应用程序的性质,复制延迟是不可接受的。

我对架构的变化感到满意,但我想知道 Facebook、Zoom、Jira 甚至 StackOverflow 等大型应用程序如何在几乎没有延迟的情况下管理其全球用户。

解决方法

事实证明没有设计模式可以解决这个问题,每个 ORG 都面临同样的问题并试图解决这个问题。每个全局应用程序都有自己高度定制的架构来解决这个问题。

云提供商提供了一些帮助,但他们提供的设施仍然不完全符合这里的要求。 希望我们将来能找到解决方案。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...