이 글은 Udemy의 '초보자를 위한 아파치 카프카 강의 v3'를 듣고 정리한 내용이다.
컨슈머
- topic에서 부터 데이터를 읽어옴 (이름으로 구별됨) : pull model
- kafka 브로커에 데이터 요청, 응답받음
- 컨슈머는 여러개의 파티션을 읽어올 수 있음
- 컨슈머는 어떤 브로커(kafka server)에서 읽어올지 알게됨
- 브로커가 failure면, 컨슈머는 어떻게 recover할지 알 수 있음
- 데이터는 각 파티션의 offset의 순서대로 읽어옴
Consumer Deserializer
- bytes -> object / data
- value, key에만 쓰임
- consumer는 메세지 형식이 어떻게 되어있는지 사전에 알아야 함
- common deserializers
- string (+ json)
- int, float
- avro
- protobuf
- 프로듀서에는 serializer, 컨슈머에는 deserializer 존재
- topic lifecycle동안에 프로듀서가 전송하는 데이터 타입을 절대 변경하면 안됨 (문제가 생기면 컨슈머 중단)
- 자료형을 변환하기 위해서는 새로운 토픽 생성 필요
'Data Engineering > Kafka' 카테고리의 다른 글
[Kafka] Apache Kafka 초보 2 : 프로듀서 & 메시지 키 (0) | 2024.07.02 |
---|---|
[Kafka] Apache Kafka 초보 1 : 토픽, 파티션, 오프셋 (0) | 2024.07.02 |