일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 공부
- 프로그래머스
- 스프링부트공부
- 스프링부트
- Axon framework
- JPA 공부
- 기술면접공부
- 플러터 개발
- 자료구조공부
- DDD
- Kafka
- 코테준비
- 코테공부
- 플러터 공부
- K8S
- Flutter
- JPA공부
- 자바공부
- JPA
- JPA예제
- 알고리즘공부
- nestjs스터디
- nestjs
- 스프링공부
- JPA스터디
- nestjs공부
- 카프카
- 기술공부
- 스프링
- querydsl
- Today
- Total
DevBoi
[Kafka] consumer-groups 본문
컨슈머 그룹에 대한 걸 알아보자.
컨슈머 그룹으로 생성된 컨슈머로 해당 토픽에 대한 데이터를 가져갔다.
컨슈머 그룹은 따로 생성하는 명령을 날리지 않고 컨슈머를 동작할 때 컨슈머 그룹이름을 지정하면 새로 생성된다.
또한 어떤 컨슈머 그룹이 어떤 토픽을 대상으로 레코드를 가져갔는지
그리고 상태와 오프셋 컨슈머 렉 컨슈머 ID,호스트 등을 알 수 있다.
(컨슈머 렉 - 현재 레코드의 오프셋과 마지막 레코드의 차이이다 ,즉 컨슈머가 읽지않은 데이터라고 이해하면 된다.)
컨슈머의 상태를 조회할때도 유용하다. 또한 컨슈머그룹의 오프셋을 리셋할 수 있다.
오프셋의 리셋은 처음부터 시작되는 것만은 아니다. 특정 오프셋으로 이동할 수 있는 것이다.
순차처리가 필요없는 경우, 최신의 데이터로 오프셋을 이동할 수 있다는 것이다.
1) 컨슈머 그룹 조회
bin/kafka-consumer-groups.sh --bootstrap-server my-kafka:9092 --list
2) 컨슈머 그룹 상세 내용 조회
bin/kafka-consumer-groups.sh --bootstrap-server my-kafka:9092 --group console-consumer-47788 --describe
오프셋과 파티션의 정보가 노출이되고, 해당 토픽을 볼 수 있다.
특정 토픽을 특정 컨슈머 그룹이 리슨할 수 있다.
bin/kafka-console-consumer.sh --bootstrap-server my-kafka:9092 --topic smitfka2 --group hello-group
bin/kafka-consumer-groups.sh --bootstrap-server my-kafka:9092 --group hello-group --describe
신규로 듣는 그룹이 파티션에 따라 다르고 각각의 오프셋과 log-end offset이 다르다.
프로듀서에서 해당 메시지를 보냈지만, 컨슘을 하지 않는 경우에는 아래와 같이 렉이 발생한다.
그 다음은 오프셋 리셋을 해보자
카프카 데이터는 retention 기간이 지나고 삭제가 된다.
bin/kafka-consumer-groups.sh --bootstrap-server my-kafka:9092 --group hello-group --topic smith.kafka2 --reset-offsets --to-earliest --execute
이런식으로 가장 일찍의 데이터로 리셋을 했다고 해보자
현재 오프셋이 0으로 변경되었고, 렉이 그만 큼 증가되었다.
이러면 이제, 해당 컨슈머는 다시 전체의 데이터를 렉이 사라질때까지 컨슘할 수 있게 됬다.
'Develop > [Kafka]' 카테고리의 다른 글
[Kafka] 토픽을 생성하는 방법들 (0) | 2023.08.13 |
---|---|
[Kafka] 카프카 기타 쉘들 (0) | 2023.08.13 |
[Kafka] Kafka-console-consumer (0) | 2023.08.13 |
[Kafka] kafka-console-producer (0) | 2023.08.07 |
[Kafka] 카프카 config 내용 분석 하기 (0) | 2023.08.06 |