[KAFKA] Delivery Sementics


[KAFKA] Delivery Sementics

At Most Once At Most Once 최대한 한 번인 경우이다. 이는 메시지 배치를 받자마자 오프셋이 커밋 되는 경우이다. https://www.conduktor.io/kafka/delivery-semantics-for-kafka-consumers/ 이 방법은 컨슈머에서 문제가 발생하면 다시 읽지 않기 때문에 메시지가 손실된다. 중요한 게 컨슈머 그룹의 컨슈머가 배치 읽고 바로 오프셋을 커밋 한다. 그 후에 데이터 처리를 시작한다. 위의 그림에서 일단 5번째까지 배치에 있는 데이터를 읽고 그다음에 처리 시작 이때 3번째까지 데이터를 처리하다가 4번째부터 문제가 생기게 되면 컨슈머는 다시 읽기를 시작한다. 다시 읽기 시작하면 마지막으로 커밋 된 부분부터 읽는다. 그렇기에 4번째와 5번째는 읽지 못하기에 데이터가 유실된다. 각 메시지를 최대한 한 번 보거나 처리하기 때문에 At Most Once이다. At Least Once 최소한 한 번 본다는 At Least Once 보통 ...


#DeliverySementics #카프카

원문링크 : [KAFKA] Delivery Sementics