카프카에서 중복 컨슘이 발생하거나 컨슘 데이터 손실이 발생하는 경우가 있다.
가장 큰 이유가 리밸런싱에 의한 발생 원인을 들 수 있다.
그래서 전략 적으로 수동 커밋을 통한 리밸런싱을 컨트롤 해보려고 한다.
자동 커밋 설정은 편리하지만 컨슈머 그룹의 리밸런싱이 발생할 때 메시지의 중복 처리나 유실 문제가 발생할 수 있다.
1. @RestController 생성
MyController에서 앞으로 url 호출 예정 (post: /message/d/{key} 호출)
2. Producer 설정
실습할 때마다 Procuder 템플릿을 만들어 줄 수 없어서 직렬화 테스트 했던 템플릿으로 불러와서 사용
String, String 구조로 전송할 것이지 떄문에 사용
3.Consumer
4.config
수동 커밋 설정 값 Consumer에 셋팅
AckMode는 기본 Batch 인데 Manual로 변경
5. 결과
'인프라 > Kafaka' 카테고리의 다른 글
[실습] Kafka CDC 트랜잭션을 이용한 Pub/sub 예제 (2) | 2024.12.12 |
---|---|
[실습] Kafka CDC 객체 리스너 Pub/sub 예제 (0) | 2024.12.12 |
[실습] Kafka 객체를 JSON 문자열로 직렬화 구현 (2) | 2024.12.11 |
[실습] Kafka 배치 메세지 리스너 pub/sub 단순 구현 (0) | 2024.12.11 |
[실습] Kafka 단일 메세지 리스너 pub/sub 단순 구현 (2) | 2024.12.10 |