WEBBOOK CHAPTER

실무 스프링 배치 6: 36장. 실습 정답과 리뷰 질문

36장. 실습 정답과 리뷰 질문

첫 실행의 핵심 답은 JobInstance=업무 식별, JobExecution=시도, StepExecution=단계 시도다. 재실행하려고 날짜를 바꾸는 것은 restart가 아니라 새 업무를 만든다. 601번째 실패 뒤 output이 600일 수 있지만 reader의 read count는 rollback·buffer에 따라 다를 수 있다.

skipretry의 구분 질문에는 “같은 입력을 다시 시도하면 성공할 합리적 근거가 있는가”가 출발점이다. 형식 오류는 반복해도 같고, 짧은 network timeout은 달라질 수 있다. 다만 retry 가능해도 멱등성과 deadline이 없으면 자동 반복하지 않는다.

병렬화 리뷰에서는 partition disjoint/complete 증거, DB headroom, 큰 seller skew, worker failure와 재처리를 설명해야 한다. 운영 리뷰에서는 server health가 아니라 입력·출력·금액 대사로 완료를 선언해야 한다.

최종 동료 리뷰는 다음을 묻는다. 같은 input을 두 번 넣으면 무엇이 일어나는가. commit 응답 직전 process가 죽으면 어떻게 아는가. 실패 instance를 새 version에서 이어도 되는가. 정산 결과를 이미 외부로 보냈다면 수정은 어떻게 기록하는가. 이 질문에 code, schema, query와 runbook으로 답하면 상업판 실습을 통과한다.