• 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 이용하는 방법

      Untitled

      • Custom객체의 필드 타입에 따른 바이트 배열 변환을 직접 수행해 줘야 함
    • Jackson Databind 이용하는 방법

      Untitled

      • Jackson Databind를 이용하면 Json 파일을 Java Object로, Java Object를 Json 파일로 변환 시키는 라이브러리
      • Kafka Client의 Serializer/Deserializer에서도 활용하여 손쉽게 Custom객체의 Serizlier/Deserializer 구현 가능