我们客户的数据政策意味着我们必须在英国/欧盟托pipe我们的数据库。
我们目前有一个美国西部EC2实例(Windows)作为Web服务器运行。 但是,自从添加新的伦敦RDS(SQL Server)实例以来,性能明显低于同一区域中的相同实例types。
我知道这两个地区的意思是有点滞后。 但是,我们能做些什么来否定缓慢? 请记住,我们只能将数据存储在英国。
RDS实例信息
大纲
根据这个网站 ,eu-west-2和us-west-2之间的平均等待时间大约是190ms。 这是很多延迟。 US-east-1的延迟时间大约为95ms,显着减less了。
大多数应用程序可能devise为假定数据库和应用程序服务器位于一起。 在这种情况下,应用程序可以频繁地请求数据库,而不会对应用程序产生任何重大影响。 高延迟打破了开发人员非常合理的假设。
最好的解决scheme – 集中/ CDN
最简单也可能是最好的解决scheme是将数据库和Web服务器放在一起。 我build议把这两个在同一地区,理想情况下相同的AZ。 使用CloudFront CDN通过caching靠近用户的大部分资源来提高性能。
这很可能符合您的合规性要求。
解决scheme二 – 只读副本
您可以在美国放置RDS只读副本。 更改您的应用程序,以便读取到本地数据库并写入到主数据库。
这可能不符合您的合规要求。
解决scheme三 – 数据库复制
你可能会运行你的数据库,所以有两个实时的主数据库不断地同步。 这有点增加了你的风险,你可能不得不在你的应用程序,或至less检测到这一点。
这可能不符合您的合规要求。