인프런 커뮤니티 질문&답변

이무님의 프로필 이미지
이무

작성한 질문수

카프카 완벽 가이드 - 코어편

Producer와 Consumer의 Custom 객체 직렬화 및 역직렬화 적용 개요

프로듀서 직렬화 관련 질문있습니다.

작성

·

171

0

안녕하세요, 실무에서 발생할 법한 사항에 대한 질문이 있습니다.

 

외부에서 데이터를 전송할 수 있는 API 엔드포인트가 프로젝트 내에 열려있고, 이 곳을 향해 들어오는 데이터를 적절히 파싱해서 Object에 담은 상태라고 했을 때

이 Object를 토픽에 저장하고 꺼내오는 과정에 강의의 예를 적용하면 동일한 커스텀 직렬화 및 역직렬화가 적용된 프로듀서, 컨슈머 클라이언트를 통해 가능할 것 같은데요

 

만약 프로듀서는 그대로 자바 (Spring 환경) 클라이언트로 구현된 것을 사용한다고 하고, 토픽에 저장된 데이터를 ksqldb를 사용한 스트림처리나 connect를 붙여 타겟에 보내는 용도로 쓴다고 했을 때는 어떻게 해야할 까요?

이런 상황에서는 커스텀 역직렬화를 ksqldb나 connect에서 사용하기 어려울 것 같은데, 프로듀서에서 Avro 타입등으로 전송해야 하는지 궁금합니다.

 

특정 상황에서는 스키마를 굳이 관리하지 않고 그냥 Json타입을 사용하고 싶을 수도 있을 것 같은데

커스텀 직렬화를 통해 바이트 코드로 토픽에 전송시킨 후 ksqldb 등에서 JSON 포맷으로 읽으면 읽혀질까요?

 

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

제가 해보질 않아서 100% 확신할 순 없지만, custom object에 대해서는 Connect와 KSQLDB의 Serialization을 적용할 수 없습니다.

Connect와 KSQLDB의 Serialization은 primitive 타입, Delimiter(csv같은), json, avro format 입니다. Custom serialization을 해버리면 적어 주신대로 수만가지의 custom deserialization을 위한 포맷 규약을 Connect, KSQLDB에서 알고 있어야 하기 때문에 그렇습니다.

감사합니다.

 

 

이무님의 프로필 이미지
이무

작성한 질문수

질문하기