작성
·
188
0
강사님 안녕하세요.
강의 잘 듣고 있습니다.
컨슈머의 동기/비동기 커밋 과정을 듣다가 한가지 질문사항이 생겼는데요.
비동기 커밋의 경우, 별도 콜백을 통해 커밋이 실패한 경우를 캐치해낼 수 있었는데요.
만약 컨슈머의 poll 메소드를 통해 가져온 레코드의 오프셋이 1부터 100까지 있었다고 할 때,
컨슈머 애플리케이션에서는 100번 루프를 돌면서 레코드를 처리할텐데
만약 이런 경우, 레코드별로 커밋이 이뤄진다면 마지막에 커밋 실패가 나지않고, 중간에 커밋 실패가 발생하는 것은
문제로 보기는 어려운 상황일까요?
예를 들어 99번 오프셋에서 커밋 실패해도 100번 오프셋에서 커밋 성공하면 99번의 커밋 실패는 별 의미가 없을 거 같아서요.
답변 1
0
아리마님, 질문 답변드립니다.
poll()호출 이후에 레코드를 순서대로 커밋을 수행할 때, 중간에 커밋 실패 이후 마지막 커밋이 성공하면 이슈가 없나요?
네 이해하신 내용이 정확히 맞습니다. 중간에 커밋이 실패나더라도 컨슈머 애플리케이션이 정상적으로 실행 중이라면 이후에 다시 다른 레코드의 커밋을 성공하면 이슈가 아니라고 볼 수 있습니다.