Kafka2 Spring Kafka + Apache Avro Spring Kafaka에서 Avro Message를 사용할 때 발생할 수 있는 에러를 핸들링하는 방법을 학습할 것이다. Poison Pill이란 개념을 알아야하는데, Poison Pill은 메시지를 받았을 때 알 수 없는 본문이나 포맷 이슈 등으로 문제가 발생하는 상황을 말한다. 이런 경우 계속해서 재시도처리하는게 아닌, 이 메시지를 받아서 적절하게 잘 처리해야한다. Avro로 인코딩된 메시지를 수신했을 때 Poison Pill이 발생할 수 있다. 예를 들어서 consumer는 Avro로 인코딩된 데이터를 원하지만 producer에서 StringSerializer를 사용해 메시지를 보냈다면 문제가 발생할 수 있다. 이런 경우 " Unknown magic byte" 라는 메시지를 포함한 에러를 발생.. 2025. 7. 4. [Spring-Kafka] Consumer 역직렬화 동적 구성 개요이번에 회사에서 Kafka구축 및 Spring Boot와 통합을 진행하면서 의문이 든게 있다.Kafka Consumer에서 역직렬화를 수행할 때 객체를 자동으로 변환해줄 수 없는가?에 대한 의문이였다.무슨 의미인지 먼저 살펴보겠다.문제 상황Spring-Boot-Kafka 공식 샘플 예제를 받아오면 다음과 같이 코드가 구성되어있다.public record Foo2(String foo) {}public record Bar2(String bar) {}데이터를 주고받을 Record(공식 문서에서는 Class)를 정의해준다.그리고 예제용으로 데이터를 주고받는걸 손쉽게 하기위해 컨트롤러를 작성해준다.@RestController@RequiredArgsConstructorpublic class ProducerCon.. 2025. 4. 11. 이전 1 다음