스프링 배치(Spring Batch)

tinyeye·2023년 1월 22일
0

스프링

목록 보기
3/10
개인적으로 공부 하는 것이므로 사실과 다를 수 있습니다.
지속적으로 채우고 수정 할 예정입니다.

Batch?

제가 이해한 배치 시스템은 일련의 작업을 정해진 로직으로 실행하는 것 입니다.

  • 일반적인 배치 프로그램의 시나리오는 'Read(가져와서)' -> 'Processing(처리하고)' -> 'Write(저장하는)' 구조로 이루어져 있습니다.

공식 문서에 따르면 Spring Batch는 이러한 배치 시스템을 기반으로 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 재사용 가능한 기능들을 제공한다고 나와있습니다.

Spring Batch?

그중 Spring Batch는 배치 프로그램 개발을 스프링 프레임워크 구성에 맞게 개발할 수 있는 환경을 제공한다.

  • 스프링 배치의 가장 기본이 되는 구성요소는 Job 과 Step이다.

Job & Step?

  • Job : 배치의 기본 단위
  • Step : Job을 수행하기 위한 단계

예를 들어 1월1일에 작년에 얼마나 목표를 달성했는지 알려주는 서비스가 있다고 가정해보면

JOB : 작년에 얼마나 목표를 달성했는지 알려주는 서비스

STEP 1 : 작년의 목표들을 조회해서 모두 모으고
STEP 2 : 달성한 목표와 달성하지 못한 목표의 갯수를 세서
STEP 3 : 퍼센티지로 달성량을 전달

이러하게 하나의 Job은 여러 Step을 가질 수 있다.

profile
백엔드 개발자를 노리며!

0개의 댓글