SpringBatch란?


Spring Batch

Batch Processing 은 일괄처리라는 뜻을 가지고 있다. 일괄처리의 의미는 일련의 작업을

정해진 로직으로 수행하는 것이라고 할 수 있다. 이런 일과 처리는 아래와 같은 경우에

필요하다고 한다.


대용량 비즈니스 데이터를 복잡한 작업으로 처리해야 하는 경우

특정한 시점에 스켜쥴러를 통해 자동화된 작업이 필요한 경우

대용량 데이터의 포맷을 변경, 유효성 검사 등의 작업을 트랜잭션 안에서 처리 후

기록해야하는 경우


배치 작업이 필요한 예시
이메일 쿠폰 발송
가맹점 정산
거래 명세서 생성
추천 시스템 데이터 작업


Spring Batch로 작업이 필요한 이유!

Spring Batch는 배치 작업을 위해 만들어진 프레임워크로 가볍고, 빠르고, 실행 도중 문제가

생기면 그 지점부터 재시작(Restartability)할 수 있다는 장점이 있다.

물론 스프링 배치를 사용하지 않아도 배치작업을 할 수 있다. 하지만 스프링 배치를 사용하면

데이터를 읽고 쓰는 기능(트랜잭션, 롤백)등, 다양한 기능을 제공 받을 수 있다.

또한 SpringBatch는 순서가 정형화가 잘 되어 있기 때문에 일관성된 코드를 작성할 수 있게 도와준다.

이렇게 작성된 코드는 개발 및 유지/보수를 할 때에도 효과적이다.