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

0

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

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

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

或者

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

客户想要例子或实践。

profile picture
EXPERTO
preguntada hace 5 meses30 visualizaciones
1 Respuesta
0

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

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

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

profile picture
EXPERTO
respondido hace 5 meses

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas