一家公司将城市交通的物联网传感器数据流式传输到 Amazon Kinesis Data Streams 中。多个应用程序从该流中消费数据,但有几个消费者被限流并收到 ReadProvisionedThroughputExceeded 错误。解决方案架构师应采取哪些措施来解决限流问题?(选择三项)
选择一个答案
点击一个选项来检查您的答案。
正确答案: 重新分片 Kinesis 流以增加分片数量。, 使用采用增强扇出(enhanced fan-out)功能的消费者。, 在消费者应用程序中实现带有指数退避的错误重试策略。.
为什么这是答案
当消费者遇到 ReadProvisionedThroughputExceeded 错误时,表明读取吞吐量不足。增加 Kinesis 流的分片数量(重新分片)会增加总的读取吞吐量,从而解决限流问题。使用增强扇出(enhanced fan-out)功能的消费者,每个消费者会获得一个独立的 2 MB/秒的吞吐量,这能有效避免多个消费者争抢同一分片读取配额导致的限流。在消费者应用程序中实现带有指数退避的错误重试策略,可以平滑地处理瞬时限流,避免持续重试加剧问题,并最终成功读取数据。 减少分片数量会降低总吞吐量,加剧限流。调整消费者的轮询频率或使用 KPL 主要用于生产者端或优化写入,对消费者读取限流问题帮助不大。Kinesis Data Streams 不支持动态分区。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡