728x90
Producer와 Consumer

- producer는 Topic에 메시지를 보냄(메시지 write)
- Producer는 성능/로드밸런싱/가용성/업무 정합성을 고려하여 어떤 브로커의 파티션으로 메시지를 보내야 할지 전략적으로 결정됨
- Consumer는 Topic에서 메시지를 읽어 들임
- 여러 개의 Consumer들로 구성될 경우 어떤 브로커의 파티션에서 메시지를 읽어 들일지 전략적으로 결정함
Producer 상세

Consumer 상세

- Kafka Cunsumer는 poll() 메서드를 이용하여 주기적으로 브로커의 토픽 파티션에서 메시지를 가져옴
- 메시지를 성공적으로 가지고 왔으면 Commit()을 통해서, __consumer_offset에 다음에 읽을 offset 위치를 기재한다.
Consumer의 auto.offset.reset

- consumer가 topic에 처음 접속하여 메시지를 가져올 때 가장 오래된 처음 offset부터 가져올 것인지, 가장 최근인 마지막 offset부터 가져올 것인지를 설정하는 파라미터
- auto.offset.reset = earlist: 처음 offset부터 읽음(0)
- auto.offset.reset = latest: 마지막 offset부터 읽음(8)
- kafka-console-consumer 명령어를 사용할 때, --from-beginning을 사용해야만 auto.offset.reset이 earlist로 지정된다.
실습
1) test Topic 생성

2) Producer 생성

3) Consumer 생성


728x90
'카프카 > Kakfa Topic, Producer, Consumer' 카테고리의 다른 글
| Key가 없는 메시지의 파티션 분배 전략 - 라운드 로빈과 스티키 파티셔닝 (0) | 2025.07.21 |
|---|---|
| 여러 개의 파티션을 가지는 메시지 (0) | 2025.07.21 |
| Key값을 가지는 메시지의 전송 (0) | 2025.07.18 |
| Producer의 객체 직렬화(Serializer) 전송의 이해 (0) | 2025.07.18 |
| Topic과 Partition, 카프카 병렬 분산 처리 (0) | 2025.07.16 |