SpringBatch란?
in Spring on Spring Batch
Spring Batch
Batch Processing
은 일괄처리라는 뜻을 가지고 있다. 일괄처리의 의미는 일련의 작업을
정해진 로직으로 수행하는 것이라고 할 수 있다. 이런 일과 처리는 아래와 같은 경우에
필요하다고 한다.
⒈ 대용량 비즈니스 데이터를 복잡한 작업으로 처리해야 하는 경우
⒉ 특정한 시점에 스켜쥴러를 통해 자동화된 작업이 필요한 경우
⒊ 대용량 데이터의 포맷을 변경, 유효성 검사 등의 작업을 트랜잭션 안에서 처리 후
기록해야하는 경우
배치 작업이 필요한 예시 |
---|
이메일 쿠폰 발송 |
가맹점 정산 |
거래 명세서 생성 |
추천 시스템 데이터 작업 |
Spring Batch로 작업이 필요한 이유!
Spring Batch는 배치 작업을 위해 만들어진 프레임워크로 가볍고, 빠르고, 실행 도중 문제가
생기면 그 지점부터 재시작(Restartability)할 수 있다는 장점이 있다.
물론 스프링 배치를 사용하지 않아도 배치작업을 할 수 있다. 하지만 스프링 배치를 사용하면
데이터를 읽고 쓰는 기능(트랜잭션, 롤백)등, 다양한 기능을 제공 받을 수 있다.
또한 SpringBatch는 순서가 정형화가 잘 되어 있기 때문에 일관성된 코드를 작성할 수 있게 도와준다.
이렇게 작성된 코드는 개발 및 유지/보수를 할 때에도 효과적이다.