[KAFKA] Producer Acknowledgement


[KAFKA] Producer Acknowledgement

ACK ack을 통해서 Producer는 브로커에 데이터를 전송할 때 데이터 쓰기 작업이 완료됐다는 응답을 받을 수 있다. ack은 0, 1, all(-1)이 있다. ACK 0 프로듀서가 확인 응답을 기다리지 않겠다는 의미. 데이터 손실 가능성이 있다. 프로듀서는 메시지가 전송된 순간 메시지 쓰기에 성공했다고 간주함 브로커가 수신하기까지 기다리지 않는다. 리더에게 데이터 전송 후 리더가 쓰기 작업을 하던 중에 브로커가 오프라인 상태가 되거나 예외가 발생해도 Producer 쪽에서는 문제가 발생한 걸 알 수가 없고 데이터는 손실된다. 메시지를 유실해도 괜찮을 때 사용 가능함 또한 설정값 중 처리량이 가장 많다. 오버헤드가 최소화된다. ACK 1 프로듀서는 리더 브로커에 확인 응답을 받을 때 쓰기가 성공했다고 간주함. 카프카 1.0 ~ 2.8까지 기본 값 프로듀서가 리더에 데이터를 보내면 리더가 쓰기 작업을 한 뒤 요청이 성공적이라고 응답한다. 하지만 리더가 요청을 받긴 하지만 데이터가...


#ack #kafka #producer

원문링크 : [KAFKA] Producer Acknowledgement