카테고리 없음

1. Spring Boot 기반으로 개발하는 Spring Batch - 소개

구름뭉치 2022. 7. 5. 22:01

이 포스팅 시리즈는 스프링 배치 - 스프링 부트 기반으로 개발하는 스프링 배치 강의를 듣고 정리하기 위해 작성했습니다.


배정된 부서에서 배치를 정말 많이 사용하길래 급하게나마 기본기 숙지를 위해 시작하게 되었다. 해당 강의는 Java 코드로 제공되지만 필자는 회사에서 코틀린으로 작업을 하기에 코틀린 기반으로 변경하여 작업할 것이다.

배치 핵심 패턴

  • Read: 데이터베이스, 파일, 큐에서 다량의 데이터 조회
  • Process: 특정 방법으로 데이터를 가공한다.
  • Write: 데이터를 수정된 양식으로 다시 저장한다.

배치 시나리오

  • 배치 프로세스를 주기적으로 커밋
  • 동시 다발적인 Job의 배치 처리, 대용량 병렬 처리
  • 실패 후 수동 또는 스케줄링에 의한 재시작
  • 의존 관계가 있는 Step 여러개를 순차적으로 처리
  • 조건적 Flow 구성을 통한 체계적이고 유연한 배치 모델 구성
  • 반복, 재시도, Skip 처리

아키텍쳐

Application

  • 스프링 배치 프레임워크를 통해 개발자가 만든 모든 배치 Job과 커스텀 코드를 포함한다.
  • 개발자는 업무로직의 구현에만 집중하고 공통적인 기반 기술은 프레임웍이 담당하게 된다.

Batch Core

  • Job을 실행, 모니터링, 관리하는 API로 구성되어 있다.
  • JobLauncher, Job, Step, Flow 등이 속한다.

Batch Infrastructrue

  • Application, Core 모두 공통 Infrastructrue 위에서 빌드한다.
  • Job 실행의 흐름과 처리를 위한 틀을 제공한다.
  • Reader, Processor, Writer, Skip, Retry 등이 속한다.
반응형