inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

커밋

commit을 꼭 안해도 되나요?

242

ttaein

작성한 질문수 5

0

commit을 꼭 하지 않아도 record가 안전하게 처리되는 방법이 있을까요?

파티션 하나에 토픽 하나로 써비스 하고 있는데 선생님 강의 보며 commit을 해야하겠다 생각했지만,

기술팀 분에게 여쭈니 꼭 commit하지 않아도 된다고 파이프라인은 그냥 데이터 보내는거라고 해서 안해도 된다고 하시는데 음..

어떻게 이해를 하면 좋을까요?

kafka 데이터-엔지니어링

답변 1

0

데브원영 DVWY

안녕하세요.

컨슈머가 커밋을 하는 이유는 컨슈머가 종료된 이후 정상적으로 처리가 완료된 시점(커밋 시점) 이후의 데이터부터 처리하기 위함입니다. 그러므로 컨슈머가 처리한 레코드에 대해 커밋을 수행하지 않아도 지금 당장 데이터를 처리하는데에는 이슈가 없지만, 추후 컨슈머의 재시작이 이루어질 경우 이미 처리된 데이터가 중복처리될 수 있습니다.

그러므로 의도적인 데이터 중복(재처리)가 아니라면 컨슈머의 커밋은 반드시 필요합니다.

0

ttaein

네 강사님 답변 감사합니다.

그럼 제가 이해한 컨슈머 커밋을 하지 않고 컨슈머 중단시 이전에 들어왔던 데이터가 중복으로 들어올 수 있으니 이를 방지하기 위해

진행했던 곳 까지의 상황을 commit하면 이를 막을수 있다는 말씀으로 이해하면 될까요~?

0

데브원영 DVWY

네 커밋을 하지 않으면 컨슈머가 이미 저장된 토픽의 레코드들을 중복 처리할 수 있는 위험성이 있습니다.

consume 이후 lag가 줄어들지 않음

0

74

2

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

0

112

2

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

0

97

2

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

0

98

2

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

0

86

2

KTable 키가 없는 레코드 처리

0

72

2

컨슈머 테스트 코드 작성

0

94

2

리밸런스 onPartitionRevoked이 필요한 상황

0

74

2

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

0

119

2

reset offset 질문

0

77

2

KStreamJoinKTable 실행시 오류

0

78

2

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

0

141

2

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

0

117

1

java, kotlin

0

130

2

shutdownThread 에 대한 문의 입니다.

0

154

2

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

0

268

2

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

0

152

2

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

0

180

3

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

0

163

2

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

0

225

2

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

0

302

1

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

0

280

3

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

0

220

2

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

0

192

2