我们有一个在6个AWS区域运行的服务,我们有一些应该满足的要求:
我们讨论的架构是一个服务,它更新主数据库和每个区域中的一个从服务器(总共6个从服务器)。
我们发现了一些问题和一些可能的解决方案:
要解决此问题,我们可以创建只读副本的只读副本。这应该给我们25个实例。
为了解决这个问题,我们在应用程序内部更新了2个主数据库。
在服务实现中,我们总是可以重新创建数据。因此,有时会重新更新数据(这是更新是IO密集型的原因之一)。
任何人都有类似的问题?你怎么处理它?我们可以避免自己创建和维护数据库吗?
我们正在使用MySQL,但我们非常愿意使用其他兼容的数据库。
答案 0 :(得分:2)
不幸的是,在区域间没有神奇的解决方案:你会失去延迟。
我认为您从RDS的角度探讨了几乎所有解决方案的建议,例如读取副本的副本(我确认您不能从其他地区执行此操作,但这是为了让您免于过高复制品滞后)。
另一个解决方案是在EC2实例上创建数据库,但是您将失去RDS的所有好处(您可以使用vpcs之间的区域间VPN保护此流量)。但是请记住,太多的阅读复制品会影响你的表现。
我的建议是:
答案 1 :(得分:0)
您可以使用https://aws.amazon.com/contact-us/request-to-increase-the-amazon-rds-db-instance-limit/
中的表单请求增加MySQL只读副本的RDS数量一旦限制增加,您就需要进行测试,以确保您的应用程序可以接受大量只读副本的性能。
哈尔