我有一个在 AWS 上运行的项目,使用 EC2 作为 Web 服务器和 SQL 服务器。该项目的使用情况随季节变化。只有极少数时间(通常一年只有几天)活动量较大(每秒数百个请求)。其余时间活动量都很低。
我正在寻找一款可根据需要自动扩展的 SQL 兼容云产品。我希望只需对我的代码进行少量更改即可适应此解决方案。我知道我可以使用不同类型的自动扩展服务,但需要进行更广泛的代码更改。
答案1
Amazon RDS 在这方面并不具备弹性 - 它是弹性最差的 Amazon 服务之一。您可以在运行时获得更大的实例大小,但这可能需要一些时间(几分钟到几小时)。如果您打算这样做,最好使用多可用区设置,因为这样新实例将从备份数据库而不是主数据库创建。使用单个可用区,主数据库可以暂停一分钟。Azure 大致相同。
不幸的是,我认为 AWS 中不存在您想要的解决方案。您必须在这些峰值之前手动扩展数据库,或者可以使用只读副本进行扩展。只读副本通常需要更改应用程序。
您可以选择以考虑到这一点的方式重新构建架构,使用 NoSQL、Redis/Memcached 或其他可扩展的技术。