인프런 커뮤니티 질문&답변

ttaein님의 프로필 이미지
ttaein

작성한 질문수

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

커밋

commit을 꼭 안해도 되나요?

작성

·

195

0

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

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

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

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

답변 1

0

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

안녕하세요.

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

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

ttaein님의 프로필 이미지
ttaein
질문자

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

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

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

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

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

ttaein님의 프로필 이미지
ttaein

작성한 질문수

질문하기