Web/Spring
Spring Kafka commit 정책
여성게
2023. 11. 5. 14:35
https://docs.spring.io/spring-kafka/docs/current/reference/html/#committing-offsets
https://hanseom.tistory.com/m/174
BATCH 타입일 경우 poll로 가져온 모든 레코드 처리가 완료된 후에 한번에 커밋한다.
MANUAL 타입일 경우 커밋을 하면 다음 poll때 커밋한다. 리스너에서 레코드 단위로 처리하게 되어 매번 acknowledge()를 호출하면 BATCH 타입과 동일하게 동작한다.(AcknowledgingMessageListener 또는 BatchAcknowledgingMessageListener를 리스너로 사용해야 한다.)
MANUAL_IMMEDIATE 타입은 acknowledge() 호출시 즉시 커밋한다.(AcknowledgingMessageListener 또는 BatchAcknowledgingMessageListener를 리스너로 사용해야 한다.)
https://docs.spring.io/spring-kafka/reference/kafka/receiving-messages/message-listeners.html
스프링 카프카 메시지 리스너 레퍼런스