在全球范围内使用数据库

Use Database across the globe

我和任何其他大型应用程序一样有一个通用要求,我希望我位于亚洲的用户以最低延迟(最快速度)访问我在美国地区托管的网站,目前,它不是这样做的.

以下是我的基础架构:


  1. 一个应用程序服务器:4 核 + 16 GB 内存,(在
    中最大 CPU 使用率为 15-20% 天)。

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

    的 AWS Aurora 数据库

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

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

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

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

原来没有解决这个问题的设计模式,每个 ORG 都遇到同样的问题并试图解决这个问题。每个全球应用程序都有自己高度定制的架构来解决这个问题。

云提供商提供了一些帮助,但他们提供的设施仍然不能完全满足这里的要求。 希望我们将来能解决这个问题。