Q59 — AWS DOP-C02 第2章
第 59/100 题 | ← 返回第2章
一会DevOps工程师管理授一个运行在Amazon EC2上的改型臓业网归。该网归使难亚马逊Kinesis数据呢范收象和处理网络日志。 DevOps工程师管理Kinesis消休者应难程序,它也运行在Amazon EC2上。 数据的突面枪加名导致Kinesis消休者应难程序落后,并且Kinesis数据呢名在处理记录之前丢弃记录。DevOps工程师客间实施一个解 决方案范大进呢处理。 哪种解决方案能以最高的运愿效率两足这些要求?
- A. 修改Kinesis消费者应用程序,以便在亚马逊S3持久地存储日志。使用亚马逊电子病历直接在亚马逊S3上处理数据,以获得客户 洞察。将结果存储在亚马逊S3。
- B. 通过添加更多基于Amazon CloudWatch GetRecords的EC2实例,横向扩展Kinesis消费者应用程序。IteratorAgeMilliseconds度量。 增加Kinesis数据流的保留时间。 ✓
- C. 将Kinesis消费者应用程序转换为作为AWS Lambda函数运行。将Kinesis数据流配置为Lambda函数处理数据流的事件源。
- D. 增加Kinesis数据流中的碎片数量,以提高整体吞吐量,从而使消费者应用程序更快地处理数据。
正确答案: B. 通过添加更多基于Amazon CloudWatch GetRecords的EC2实例,横向扩展Kinesis消费者应用程序。IteratorAgeMilliseconds度量。 增加Kinesis数据流的保留时间。
解析
Amazon Kinesis数据流通过分片管理吞吐量,每个分片的处理能力固定。消费者应用程序处理速度不足时,数据可能因保留时间限制被丢弃。横向扩展EC2实例可增加消费者处理能力,基于CloudWatch的GetRecords.IteratorAgeMilliseconds指标能实时监控消费者延迟。该指标反映数据记录未被处理的时间,数值较大时触发扩容操作。延长Kinesis数据流的保留时间(默认24小时,最高7天)为处理积压数据提供缓冲时间。选项B结合了动态扩展和保留策略调整,直接针对处理滞后问题,避免数据丢失。选项D仅增加分片可能无法解决消费者处理速度不足的问题,而选项C的Lambda函数受限于执行时长和并发限制,不适合高吞吐场景。AWS官方建议使用CloudWatch监控消费者延迟并扩展消费者实例以提高处理能力(参考AWS Kinesis开发人员指南)。