我对KCL(Kinesis Customer Library)有疑问。

0

【以下的问题经过翻译处理】 客户目前在自己的物联网服务中使用Kinesis(我猜是data stream)。

客户确信KCL记录了EC2在缩放或终止时如何处理数据。(当数据被处理时可能会终止EC2)

Q1) 他们想知道这个记录是如何处理的?

或者

Q2) 他们必须在EC2被缩放时设置生命周期钩子,或者KCL能自己管理这个记录?

客户想要例子或实践。

profile picture
EXPERT
asked 5 months ago30 views
1 Answer
0

【以下的回答经过翻译处理】 您可以将KCL视为一个微批处理系统。KCL的一个实例会从一个Kinesis Stream中的单个shard获取一批记录,然后会发生以下两种情况之一:要么成功处理了这批记录,要么没有处理成功。如果成功处理了,它将继续从流中获取下一批记录。如果处理失败,系统将尝试重新处理同一批记录。

如果由于某些原因(例如EC2缩放事件、EC2故障等),KCL中断,则它将无法成功处理当前的微批处理。因此,正在运行KCL的另一个EC2实例将重新处理该微批处理。

当您启动KCL时,它会在DynamoDB中创建一个表,以跟踪对Kinesis Stream中每个shard的处理状态。因此整个系统可以知道处理记录的代理是否已停止响应,该批次是否需要重新分配给另一个代理去处理。

profile picture
EXPERT
answered 5 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions