WEBBOOK CHAPTER

실무 스프링 배치 6: 32장. Partitioning과 Remote Chunking 선택

32장. Partitioning과 Remote Chunking 선택

partitioning은 입력 공간을 서로 겹치지 않는 범위로 나눠 각 worker가 reader·processor·writer를 수행한다. seller ID hash, 영업일과 지역처럼 안정된 key를 사용한다. 범위가 겹치거나 빠지는지 master가 manifest를 검증한다.

remote chunking은 manager가 읽은 item chunk를 worker에게 보내 처리 결과를 받는다. broker delivery, redelivery, ordering, poison message, manager crash를 운영해야 한다. 네트워크를 추가하는 만큼 CPU-heavy processor나 분리된 보안 영역 같은 이유가 있어야 한다.

단일 step 기준 처리량을 측정하고 DB가 포화되기 전까지만 worker를 늘린다. 1→2→4→8에서 records/sec, p95 chunk, DB CPU·IO, lock wait와 실패 복구 시간을 표로 남긴다. 평균 처리량이 늘어도 tail latency·rollback 비용·대사 시간이 악화되면 채택하지 않는다.