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

0

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

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

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

或者

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

客户想要例子或实践。

profile picture
EXPERTE
gefragt vor 5 Monaten30 Aufrufe
1 Antwort
0

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

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

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen