Q57 — AWS SAA-C03 第1章
第 57/65 题 | ← 返回第1章
Q57.一家公司最近将消息处理系统迁移到了 AWS.系统将消息接收到在 Amazon EC2 实例上运行的 ActiveMQ 队列中.消息由运行在 Amazon EC2 上的消费者应用程序处理.消费者应用程序处理消息并将结果写入在 Amazon EC2 上运行的 MySQL 数据库.该公司希望此应用程序具有高可用性和低操作复杂性.哪种架构提供最高的可用性?
- A. 将第二个 ActiveMQ 服务器添加到另一个可用区.在另一个可用区中添加一个额外的消费者 EC2 实例.将 MySQL 数据库复制到另一个可用区.
- B. 将 Amazon MQ 与跨两个可用区配置的活动/备用代理一起使用.在另一个可用区中添加一个额外的消费者 EC2 实例.将 MySQL 数据库复制到另一个可用区.
- C. 将 Amazon MQ 与跨两个可用区配置的活动/备用代理一起使用.在另一个可用区中添加一个额外的消费者 EC2 实例.使用启用了多可用区的 Amazon RDS for MySQL.
- D. 将 Amazon MQ 与跨两个可用区配置的活动/备用代理一起使用.为跨两个可用区的消费者 EC2 实例添加 Auto Scaling 组 使用启用了多可用区的 Amazon RDS for MySQL. ✓
正确答案: D. 将 Amazon MQ 与跨两个可用区配置的活动/备用代理一起使用.为跨两个可用区的消费者 EC2 实例添加 Auto Scaling 组 使用启用了多可用区的 Amazon RDS for MySQL.
解析
选项D:使用带有跨两个可用区配置的活动/备用代理的Amazon MQ。为跨两个可用区域的消费者EC2实例添加一个Auto Scaling组。使用Amazon RDS for MySQL并启用Multi-AZ。 该体系结构为消息处理系统提供了最高的可用性,并且具有较低的操作复杂性。原因如下: 1. 带有活动/备用代理的Amazon MQ: Amazon MQ提供托管消息代理服务。通过跨两个可用区配置活动/备用代理,系统可以实现消息队列的高可用性。当一个可用分区不可用时,系统可以在另一个可用分区继续运行,不会中断。 2. 消费者EC2实例的自动伸缩组:通过使用自动伸缩组,系统可以根据需求自动伸缩消费者EC2实例的数量。Auto Scaling组可以配置为跨两个可用区分发实例,从而确保消息处理的冗余和容错。如果实例失败或不可用,Auto Scaling组将替换它,以维持所需的实例数量。 3.Amazon RDS for MySQL with Multi-AZ:使用Amazon RDS for MySQL with Multi-AZ提供了MySQL数据库的高可用性。Multi-AZ自动将数据库复制到另一个可用分区的备用实例中。在主数据库发生故障的情况下,备用实例将自动提升为主角色,从而最大限度地减少停机时间并确保数据完整性。 通过组合这些组件,该架构在应用程序堆栈的不同层实现了高可用性和容错: —消息队列:具有跨可用区活动/备用代理的Amazon MQ确保消息队列的可用性。 —消息处理:用于消费者EC2实例的Auto Scaling组将工作负载分配到可用区,提供冗余和可伸缩性。 —数据库:Amazon RDS for MySQL具有Multi-AZ复制功能,确保了数据库的高可用性和主实例故障时的自动故障转移。 这种体系结构提供了最高的可用性,同时最小化了操作复杂性。它利用像Amazon MQ和Amazon RDS这样的托管服务,减少了手动配置和管理任务的需要。