某公司在 AWS 云中运行一个三层 Web 应用程序,该应用程序跨三个可用区运行。应用程序架构包括一个 Application Load Balancer、一个托管用户会话状态的 Amazon EC2 Web 服务器,以及一个在 EC2 实例上运行的 MySQL 数据库。该公司预计应用程序流量会突然增加。该公司希望能够扩展以满足未来的应用程序容量需求,并确保所有三个可用区都具有高可用性。哪种解决方案能满足这些要求?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 将 MySQL 数据库迁移到采用 Multi-AZ DB 集群部署的 Amazon RDS for MySQL。使用具有高可用性的 Amazon ElastiCache for Redis 存储会话数据和缓存读取。将 Web 服务器迁移到跨三个可用区的 Auto Scaling 组。.
为什么这是答案
正确答案通过以下方式满足所有要求:将MySQL数据库迁移到Multi-AZ RDS for MySQL,确保了数据库的高可用性和可扩展性。使用高可用性的ElastiCache for Redis存储会话数据和缓存读取,解决了Web服务器会话状态管理和读取性能问题,同时Redis支持更复杂的数据结构,通常更适合会话管理。将Web服务器迁移到跨三个可用区的Auto Scaling组,实现了Web层的高可用性、弹性伸缩以应对流量突增。
选项二不正确,因为Memcached虽然也能缓存数据,但它不支持Redis的复杂数据结构,通常不用于存储会话数据。选项三不正确,因为将MySQL迁移到DynamoDB需要重写应用程序代码,这超出了迁移的范畴,且DynamoDB的DAX主要用于加速DynamoDB的读取,而不是关系型数据库的缓存。选项四不正确,因为将MySQL数据库迁移到单个可用区的RDS for MySQL无法满足高可用性要求。