Q51 — AWS SAP-C02 第3章
第 51/75 题 | ← 返回第3章
Q276. 一家公司有10,000多个传感器使用消息队列遥测传输(MQTT)协议向本地Apache Kafka服务器发送数据。本地Kafka服务器转换数据,然后将结果作为对象存储在Amazon S3存储桶中。最近,Kafka服务器崩溃了。公司在恢复服务器期间丢失了传感器数据。解决方案架构师必须在AWS上创建一个高可用且可扩展的新设计,以防止类似事件发生。 哪种解决方案将满足这些要求?
- A. 启动两个Amazon EC2实例以在跨两个可用区的主动/备用配置中托管Kafka服务器。在Amazon Route 53中创建域名。创建Route 53故障转移策略。将传感器路由到向域名发送数据。
- B. 将本地Kafka服务器迁移到Amazon Managed Streaming for Apache Kafka (Amazon MSK)。创建指向Amazon MSK代理的Network Load Balancer (NLB)。启用NLB健康检查。将传感器路由到向NLB发送数据。
- C. 部署AWS IoT Core并将其连接到Amazon Kinesis Data Firehose传输流。使用AWS Lambda函数处理数据转换。将传感器路由到向AWS IoT Core发送数据。 ✓
- D. 部署AWS IoT Core并启动Amazon EC2实例以托管Kafka服务器。配置AWS IoT Core将数据发送到EC2实例。将传感器路由到向AWS IoT Core发送数据。
正确答案: C. 部署AWS IoT Core并将其连接到Amazon Kinesis Data Firehose传输流。使用AWS Lambda函数处理数据转换。将传感器路由到向AWS IoT Core发送数据。
解析
选项C涉及部署AWS IoT Core并使用Kinesis Data Firehose在被Lambda函数转换后将数据存储在S3中。AWS IoT Core提供高可用性和可扩展性,确保传感器数据在发生故障时不会丢失。此方法还可以通过启用直接设备到云通信并添加身份验证和授权层来提高安全性。 选项A启动两个EC2实例提供冗余但不提供基于负载的自动扩展。选项B迁移到Amazon MSK不解决本地Kafka服务器崩溃时的数据丢失问题。选项D启动EC2实例托管Kafka不提供自动扩展或高可用性。