Q43 — AWS SAP-C02 第2章
第 43/75 题 | ← 返回第2章
Q193. 一家公司有 IoT 传感器用于监控整个大城市的交通模式。该公司希望读取和收集传感器数据并对数据进行聚合。解决方案架构师设计了一个解决方案,其中 IoT 设备流式传输到 Amazon Kinesis Data Streams。多个应用程序正在从流中读取数据。但是,多个消费者正在经历限流,并定期遇到 ReadProvisionedThroughputExceeded 错误。 解决方案架构师应采取哪些操作来解决此问题?(选择三项。)
- A. 重新分片流以增加流中的分片数量 ✓
- B. 使用 Kinesis Producer Library (KPL)。调整轮询频率
- C. 使用具有增强型扇出功能的消费者 ✓
- D. 重新分片流以减少流中的分片数量
- E. 在消费者逻辑中使用错误重试和指数退避机制 ✓
- F. 配置流使用动态分区
正确答案: A. 重新分片流以增加流中的分片数量, C. 使用具有增强型扇出功能的消费者, E. 在消费者逻辑中使用错误重试和指数退避机制
解析
当超过分片每秒允许的最大读取操作数时,会出现 "ReadProvisionedThroughputExceeded" 错误。要解决此问题,可以采取以下操作: A:重新分片流以增加流中的分片数量。这将增加流每秒允许的总读取操作数。 C:使用具有增强型扇出功能的消费者。此功能允许多个应用程序同时从同一个流消费数据,而不受单个分片读取吞吐量的限制。 E:在消费者逻辑中使用错误重试和指数退避机制。遇到限流错误时,消费者应暂停一小段时间,并在间隔过后重试读取操作。每次后续失败尝试的重试间隔应指数增加。 B:使用 KPL 和调整轮询频率可能改善生产者端性能,但不直接解决流上的读取吞吐量问题。 D:减少分片数量将降低每秒允许的总读取操作数,可能加剧限流问题。 F:配置动态分区可能导致记录在分片之间分布不均,不直接解决读取吞吐量问题。