随着扩展Kinesis Data Streams并向Kinesis Data Analytics添加KPU,数据如何流动?

0

【以下的问题经过翻译处理】 我有一个事件处理架构,基本上是KPL Producer -> Kinesis Data Streams(Raw) -> KDA(Flink Aggregation) -> Kinesis Data Streams(Agg) -> Lambda -> Timestream。使用10个Raw Shards的基本设置,Flink应用程序上有2个KPU,并使用5个Agg Shards(按需)和大约100个每秒请求率,我的堆栈可以在经过整个工作流程到Timestream的延迟下处理数据大约一分钟。当我预先调整好各种设置以处理更高的工作量(几天后才到达)时,我注意到当前延迟从1分钟变成了30分钟才能到达Timestream。我需要了解的问题是工作流程的哪个环节增加了延迟,当前堆栈现在是200个Raw Shards,25个KPU和15个Agg Shards(按需)。我知道延迟很可能是在Flink中发生的,因为我可以看到每30分钟写出一大批记录,使用我的Agg KDS的传入记录计数,但我的问题是为什么会这样?我知道当我的请求减少时,这个问题会消失,但我一直想知道Flink在内部发生了什么,从而增加了这个延迟。

profile picture
专家
已提问 5 个月前44 查看次数
1 回答
0

【以下的回答经过翻译处理】 您是否有任何空闲的Kinesis分片?因为这会导致Apache Flink应用程序的水印停滞,无法继续前进。可以通过在Kinesis消费者配置中设置SHARD_IDLE_INTERVAL_MILLIS来避免这种情况发生。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则