inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

리밸런스 리스너 활용이 궁금합니다.

210

아리마

작성한 질문수 76

0

강사님 안녕하세요.
스프링 카프카로 공부를 하는 중, 궁금증이 생겨서 문의를 드립니다.
 
@KafkaListner 를 사용해서 컨슈머 리스너를 구현하였습니다.
리밸런스가 일어날 때, 메시지 중복 처리 발생을 막기 위한 예제를 직접 만들어 보고있는데요.
 
500개 레코드를 Poll 해온 뒤, 300번째 정도 레코드를 읽었을 때 Rolling Update 가 진행되도록 상황을 만들어서
리밸런싱이 발생하도록 하였습니다.
스프링 카프카에서 제공되는 ConsumerAwareRebalanceListener 를 이용하면 리밸런스가 일어날 때
onPartitionRevokedBeforeCommit 와 AfterCommit 함수를 이용해서 300번째까지 처리한 오프셋으로
수동 커밋을 해줄 수 있을 것 같던데요.
 
궁금한 것은 현재 300번째까지 처리했다라는 오프셋 값을 어떻게 얻을 수 있는지 모르겠습니다.
onPartitionRevokedBeforeCommit 의 인자로 넘어오는 Consumer 객체나 TopicPartition 객체에는
500개 레코드를 Poll 해온 시점의 offset 값은 있지만 현재 처리한 시점의 offset 값은 없는 것 같더라고요.
 
강사님 혹시 답을 알고 계실까요?
 

Kafka 데이터 엔지니어링

답변 1

0

데브원영 DVWY

아리마님, 스프링 카프카에 대한 질문을 주셨는데요.

스프링 카프카는 이번 강의에 포함되어 있지 않으며 관련 개발 경험이 부족해서 답변을 드리기 어려운점 양해부탁드립니다. 공식 자바 아파치 카프카 라이브러리에 대한 질문을 남겨주시길 부탁드리겠습니다.

0

아리마

강의에는 스프링 카프카가 포함되어 있지 않지만, 함께 참고하고 있는 도서에는 스프링 카프카 챕터가 있어서 질문을 드렸는데 아쉽게도 경험이 부족하신 부분이군요. 아쉽지만 잘 알겠습니다.

카프카 ISR 개념 부분 질문

0

487

1

카프카 커넥터를 두가지 사용하는 이유

0

909

1

브로커, 토픽, 파티션관계

0

687

1

커넥트(소스), 커넥트(싱크)

1

546

1

카프카 isr 질문 있어요

0

340

1

파티션 질문 있어요

0

393

1

명령어 관련 문의드립니다.

0

436

2

토픽의 레코드가 라운드로빈으로 배정되는 방식 질문있습니다.

0

435

2

레코드에 json 형태의 데이터 넣는법 질문

0

436

2

카프카 도커로 실행

1

447

1

CCDAK 질문입니다!

0

1368

1

스트림즈 조인에 관련해서 질문드립니다.

0

307

1

min.insync.replicas에서 설정값만큼의 브로커 다운시

0

259

1

브로커로 메시지를 보낼때 null값인 경우

0

475

1

zookeeper 실행시 에러

1

788

1

온프레미스 환경 설치에 대해 질문있습니다.

0

358

1

리밸런싱 시, 메시지 중복 처리 문제

0

1074

1

강사님, Idempotence / transaction의 차이가 궁금합니다.

0

377

1

브로커 장애 발생시 질문

0

339

1

에러 핸들링과 관련하여 질문 드립니다

0

316

1

토픽 생성시 파티션이 배치되는 방법

0

367

1

질문있습니다!

0

141

1

카프카 스트림즈 에러 핸들링 질문 드립니다

0

402

1

카프카 클러스터 질문이 있습니다.

0

186

1