随着扩展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 個月前檢視次數 49 次
1 個回答
0

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

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南