내용으로 건너뛰기

I have question on KCL(Kinesis Customer Library)

0

A customer currently use Kinesis (I guess data stream) in their own IoT service.

Customer do believe that KCL recorded how handling data when EC2 is being scaled in or terminated. (There is a possibility of terminating EC2 when the data has been handled)

Q1) They wonder how does this record handle?

Or

Q2) They have to set lifecycle hook when EC2 is being scaled in or there is something that KCL managed this record by itself?

Customer would like to have any example or practice.

질문됨 7년 전611회 조회
1개 답변
0
수락된 답변

You can think of the KCL as a micro-batch system. An instance of the KCL will take a micro-batch of records from a single shard in a Kinesis Stream and then one of two things happens: either it is successful in processing those records or it is not. If it is successful, it will move on and get the next micro-batch of records from the stream. If it is not successful, the system will attempt to re-process the same micro-batch.

If the KCL is interrupted for some reason (eg an EC2 scale event, EC2 failure etc), then it will not be successful in processing the current micro-batch. The micro-batch will therefore be re-processed by another EC2 instance that is running the KCL.

When you start the KCL, it creates a table in DynamoDB that tracks the state of the processing against each shard in the Kinesis Stream. This includes a lease system, so the overall system can know if an agent that is processing records from a shard has stopped responding and the batch needs to be reassigned to another agent.

AWS
답변함 7년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.