백엔드 엔지니어링수정 2026-08-18
실시간으로 하면 안 되는 일 — 이커머스에서 배치가 필요한 지점
「배치로 돌립시다」는 느리게 해도 된다는 허가가 아니라 지연을 내주고 처리량을 사는 거래다. 이 글은 이커머스 거래 체인의 어디에 배치가 붙는지, 그 결정이 어떤 청구서를 되돌려 주는지, Spring Batch가 그 지형에서 책임지는 범위가 어디까지인지를 정한다.
태그
4편
「배치로 돌립시다」는 느리게 해도 된다는 허가가 아니라 지연을 내주고 처리량을 사는 거래다. 이 글은 이커머스 거래 체인의 어디에 배치가 붙는지, 그 결정이 어떤 청구서를 되돌려 주는지, Spring Batch가 그 지형에서 책임지는 범위가 어디까지인지를 정한다.
Spring Batch를 쓴다는 것은 재시작 가능한 배치를 직접 설계하지 않겠다는 결정이다. 3계층 아키텍처가 무엇을 어디에 두었는지, JobRepository에 남는 기록이 어떻게 재시작이라는 성질로 이어지는지, 그리고 그 재시작이 안전하려면 배치 쪽이 무엇을 지켜야 하는지를 정한다.
element를 유형별로 갈라 처리하고 VLM으로 엔티티를 뽑아 페이지 단위로 재조립하는 노드 9개를 따라간다. 표를 Document 2개로 만드는 이유까지.
앞의 네 편이 쌓아 온 판단을 세 벌로 다시 짠다. 아직 무엇으로 읽고 어떻게 벌릴지 고르는 중이라면 선택지 표를, 이미 도는 배치가 윈도우를 넘기거나 숫자가 안 맞는다면 증상에서 출발하는 실패 모드 표를, 그 선택의 근거를 대야 한다면 25문답을 쓴다.