一个高流量网站运行在 EC2 上,并使用 Kinesis Data Streams 收集 Web 日志。Kinesis 消费者应用程序(也运行在 EC2 上)在数据高峰期会滞后,导致记录丢失。哪种解决方案能以最少的操作开销改进流处理?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 根据 CloudWatch GetRecords.IteratorAgeMilliseconds 指标,通过添加 EC2 实例来横向扩展 Kinesis 消费者,并增加 Kinesis 流的保留期。.
为什么这是答案
当 Kinesis 消费者应用程序滞后时,GetRecords.IteratorAgeMilliseconds 指标会增加,表明消费者未能及时处理数据。通过增加 EC2 实例来横向扩展消费者,可以提高并行处理能力,从而更快地消费数据。增加 Kinesis 流的保留期(例如,从默认的 24 小时增加到 7 天)可以防止在消费者滞后期间数据丢失,因为数据会在流中保留更长时间,等待消费者处理。 选项 A 引入了 EMR 和 S3 的额外处理步骤,增加了复杂性和操作开销,且不能直接解决实时处理滞后的问题。选项 C 将消费者迁移到 Lambda 可能会有帮助,但 Lambda 的并发限制和冷启动问题可能不适合高流量场景,且不一定能以最少的操作开销解决问题。选项 D 增加 Kinesis 分片会提高流的写入吞吐量,但如果消费者处理能力不足,增加分片并不能解决消费者滞后问题,反而可能加剧问题,因为每个分片都需要一个消费者来处理。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡