inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

수동 커밋 컨슈머 애플리케이션

오프셋 커밋이 실패된 이후 consume 하는 경우 문의

282

raccoon

작성한 질문수 2

0

안녕하세요.

컨슈머에서 오프셋 커밋이 네트워크 등의 장애로 실패하고나면 동일한 컨슈머에서는 해당 오프셋을 다시 읽게 되나요?
아니면, 해당 오프셋은 skip 되나요?

예를 들어서, 아래와 같이 한 개의 파티션에 10개의 레코드가 있는 경우를 가정해볼게요.

(비동기 수동 커밋 가정, 가져오는 레코드 개수는 1개씩)

 

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

 

1 ~ 2 번까지는 오프셋 커밋이 정상적으로 이루어지고, 3번을 제외한 4번까지 오프셋 커밋이 되었다고 가정해보면,
다음 poll() 메서드에서는 5번 오프셋을 가져오게 되나요?
아니면 3번 오프셋을 다시 조회하게 되나요?

 

감사합니다.

kafka 데이터-엔지니어링

답변 2

0

데브원영 DVWY

안녕하세요.

일반적으로 컨슈머에서 오프셋 커밋이 실패하게 되더라도 레코드를 추가로 더 처리한 이후에 커밋을 수행합니다. 그러므로 레코드들은 순서대로 처리되고 커밋이 실패하더라도 계속해서 다음 오프셋의 레코드들이 들어오게 됩니다.

다만, 오프셋 실패 이후 컨슈머가 종료되게 된다면 마지막 오프셋의 레코드부터 컨슈머가 처리했던 마지막 레코드까지는 중복 처리하게 되비다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

컨슈머에서 오프셋 커밋이 실패한 경우 해당 컨슈머 그룹의 오프셋 커밋 위치는 변경되지 않고 유지됩니다. 따라서 다음 poll() 호출 시 컨슈머는 마지막 성공적으로 커밋된 오프셋 다음부터 메시지를 다시 읽기 시작합니다. 이 경우 마지막 성공적으로 커밋된 오프셋이 2 였다면, 다음 poll() 메서드 호출에서 3 번 오프셋부터 다시 처리하게 됩니다.

오프셋 커밋 실패 후 처리 방식에 대해 더 깊게 이해하고자 하신다면 Kafka 공식 문서의 ‘Checking consumer position’ 섹션을 참고하실 수 있습니다:
https://kafka.apache.org/documentation/#basic_ops_consumer_lag

여기서 제공된 kafka-consumer-groups.sh 도구를 사용하여 특정 컨슈머 그룹의 오프셋 위치 및 로그 끝과의 차이를 확인하실 수 있습니다.

consume 이후 lag가 줄어들지 않음

0

75

2

안녕하세요. 강의의 카프카 버전과 현재 시점의 카프카의 차이점 문의 드립니다.

0

118

2

멱등성 프로듀서 retries 관련 질문입니다.

0

99

2

채팅 서비스 개발 시 주의점이 있을까요?

0

100

2

충분히 큰 파티션 생성시 궁금증이 존재합니다.

0

88

2

KTable 키가 없는 레코드 처리

0

73

2

컨슈머 테스트 코드 작성

0

94

2

리밸런스 onPartitionRevoked이 필요한 상황

0

74

2

카프카 클러스터에서 감당 가능한 파티션(레플리카) 수 문의

0

120

2

reset offset 질문

0

77

2

KStreamJoinKTable 실행시 오류

0

78

2

auto.commit.interval.ms 옵션 관련 질문 드립니다.

0

142

2

파티션, 컨슈머 그룹, 컨슈머 관련 질문

0

117

1

java, kotlin

0

130

2

shutdownThread 에 대한 문의 입니다.

0

155

2

zookeeper실행시 오류가 발생합니다.

0

271

2

커스텀 소스 커넥터에서 Thread.sleep (1000) 은 왜 하는거에요?

0

153

2

처리량을 늘리기 위해서 파티션을 늘리고 컨슈머를 늘려야한다고 설명하셨는데요

0

181

3

파티션 개수와 컨슈머 개수의 처리량 관련 질문

0

164

2

동영상 및 이미지 처리 관련 문의 드립니다.

0

226

2

주키퍼 없이 사용 문의 드립니다.

0

303

1

kafka 를 띄우니 오류가 발생하고 종료합니다.

0

281

3

zookeeper 실행시 오류 .. 무엇을 해야 할까요?

0

220

2

파티션 추가로 해결할 수 있지만 늘어난 파티션은 줄일 수 없지 않나요?

0

192

2