-
Custom 데이터의 Kafka 전송/읽기
- 업무적으로 다양한 유형의 클래스를 데이터 인터페이스로 설정하고 해당 객체를 전송/읽기 필요
- kafka의 Serializer/Deserializer는 String, Integer, Long 등의 Primitive(원시) 기반의 Object들에 대해서만 기본 제공
- 업무적으로 사용되는 Customer, Order 등의 데이터를 객체 형태로 전달하기 위해서는 직접 Custom 객체의 Serializer/Deserializer를 구현해서 사용
-
Producer/Consumer 간의 Custom 객체의 전송
네트워크를 통하기 때문에 바이트 단위로 직렬화되어 보내지고 역직렬화를 통해 읽어들임
-
Kafka Client에서 Custom 객체의 직렬화/역직렬화 구현
- Custom 객체 생성(비어있는 생성자, getter/setter 등을 가짐)
- Serializer/Deserializer 구현
- Kafka Client에 Custom객체 Serialization/Deserialization 등록
-
Kafka에서 기본으로 제공하는 Serializer
- StringSerializer
- ShortSerializer
- IntegerSerializer
- LongSerializer
- DoubleSerializer
- BytesSerializer
-
Kafka Serializer/Deserializer 구현
-
Pure Java 이용하는 방법
- Custom객체의 필드 타입에 따른 바이트 배열 변환을 직접 수행해 줘야 함
-
Jackson Databind 이용하는 방법
- Jackson Databind를 이용하면 Json 파일을 Java Object로, Java Object를 Json 파일로 변환 시키는 라이브러리
- Kafka Client의 Serializer/Deserializer에서도 활용하여 손쉽게 Custom객체의 Serizlier/Deserializer 구현 가능