![[주저리] Kafka는 발행된 메세지의 데이터 타입을 기억할까? (JSON과 string의 비교)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7dYUk%2FbtsCOy0EcBQ%2FNDsj51OY9gUhlez0kIO3tK%2Fimg.png)
🧐 개요 Apache Kafka 환경에 발행된 메세지는 자동으로 인코딩(직렬화)됩니다. 일전에 Spark Streaming 앱에서 수신한 Kafka 메세지에서 CAST를 진행해주었던 이유도 직렬화 된 데이터를 문자열로 변환시켜주기 위해서였죠. 발행된 메세지를 재사용하기 위해서는 적절한 디코딩을 통해 데이터를 읽기 및 쓰기가 가능한 포맷으로 바꾸어주어야 합니다. Kafka 내부적으로 디폴트로 사용되는 인코더가 있지만 사용자가 직접 Serializer 객체를 정의하여 인코딩을 수행할 수도 있습니다. confluent-kafka 모듈을 학습하던 도중 궁금해졌던 부분은 JSON 데이터의 처리였습니다. 구체적으로는 "Kafka는 str(dict) 데이터와 json.dumps(dict).encode('utf-8'..
![[주저리] 개념으로 이해하는 메세지 큐(Message Queue)와 카프카(Kafka)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2DlH9%2FbtsCDd8iBmC%2F8XRFIkKs72Tb1W1KGdKRy0%2Fimg.png)
🧐 개요 이번 포스트에서는 일전의 제가 카프카의 개념을 이해하는 과정에서 배우고 적었던 내용들을 설명하고자 합니다. 주니어 개발자로서 '메세지 큐(Message Queue)와 카프카(Kafka)'에 대한 개념을 이해하게 된 것은 최근의 일이었습니다. 컴퓨터 분야에 입문한지 이제 막 1년이 된 저에게 있어 사뭇 낯설게 느껴지는 개념들이었던 것 같습니다. 그간 제 머릿속에서 카프카의 개념은 아래와 같았습니다. "다양한 데이터 원천에서 수집된 데이터는 빅 데이터 아키텍처 기반으로 구성된 DataLake 환경에 저장된다. Apache Kafka는 이렇게 DataLake 환경에 모인 빅 데이터를 서빙하는 통합 메세지 브로커로서, 각 서비스 및 어플리케이션에서 특정 데이터에 빠르게 접근할 수 있도록 도와준다.” 컴..