AWS:两个区域之间的 RDS SQL Server 滞后问题

AWS:两个区域之间的 RDS SQL Server 滞后问题

我们客户的数据政策意味着我们必须在英国/欧盟托管我们的数据库。

我们目前有一个美国西部 EC2 实例(Windows)作为 Web 服务器运行。但自从添加新的伦敦 RDS(SQL Server)实例后,其性能明显低于同一地区的相同实例类型。

我知道跨两个地区肯定会有一点延迟。但是我们能做些什么来消除这种缓慢现象吗?请记住,我们只能将数据存储在英国。

RDS 实例信息

  • t2.中等
  • 通用型 (SSD)
  • iOPS 已禁用

答案1

大纲

根据本网站eu-west-2 和 us-west-2 之间的平均延迟约为 190 毫秒。延迟时间很长。US-east-1 的延迟时间约为 95 毫秒,因此延迟时间要短得多。

大多数应用程序的设计都假设数据库和应用程序服务器位置很近。在这种情况下,应用程序可以频繁向数据库发出请求,而不会对应用程序产生任何重大影响。高延迟打破了开发人员做出的非常合理的假设。

最佳解决方案 - 主机托管 / CDN

最简单且可能最好的解决方案是将数据库和 Web 服务器放在更近的地方。我建议将两者放在同一个区域,最好是同一个可用区。使用 CloudFront CDN 通过将大多数资源缓存在靠近用户的地方来提高性能。

这最有可能满足您的合规性要求。

解决方案二-读取副本

您可以在美国放置一个 RDS 只读副本。更改您的应用程序,以便读取到本地数据库,写入到主数据库。

这可能不符合您的合规性要求。

解决方案三-数据库复制

您可能会运行数据库,因此有两个实时的主数据库不断相互同步。这在一定程度上增加了您的风险,您可能必须在应用程序中解决此问题,或至少检测它。

这可能不符合您的合规性要求。

相关内容