Spring Batch Partitioner를 이용한 최적화
·
spring
단일 스레드 방식의 한계점외부 서버 API로부터 데이터를 받아와 DB에 적재를 해야한다고 하자API 서버에 데이터를 요청할 때 모든 데이터가 아닌 page 단위로 요청해야하는 상황이라면 단건씩 요청을 해야한다.만약 페이지 수가 1000개라면, 단일 스레드에서 1000개 페이지에 데이터를 요청하고, 데이터베이스에 적재해야한다.위 작업을 단일 스레드에서 실행하면 모든 작업을 순차적으로 처리하기 때문에 페이지가 많을 수록 대기시간이 오래걸린다. 이를 해결해 줄 수 있는 방법은 Partitioner를 사용하여 멀티 스레드로 처리하는 것이다.구조파티셔너는 Step이 각 스레드에 배정되어 실행될 수 있도록 분배하는 역할이다.구체적인 분배 방법은 Partitioner 인터페이스를 구현하여 정의할 수 있다.방법파티셔너..