[Spring Batch] 스프링 배치

JOY·2023년 6월 4일
0

[Spring]

목록 보기
18/18

스프링 배치 (Spring Batch)

  • Java 기반의 오픈 소스 프레임워크
  • 대용량 데이터 처리 작업 수행시 사용

배치 처리란?

주기적으로 반복되거나 정해진 시간에 실행되는 작업(일괄 처리)

장점

  1. Spring Framework와 통합 용이
  2. 확장성과 유연성이 높음
  3. 배치 작업 상태 관리/실패 처리/재시작 기능 제공으로 인해
    안정적이고 신뢰성 있는 배치 처리 구현 가능

스프링 배치

  • Job(잡)
    : 처리해야할 작업의 단위

  • Step(스텝)
    : Job을 구성하는 작업의 단위

  • Reader(리더)
    : Step에서 사용되는 데이터를 읽어오는 역할

  • Processor(프로세서)
    : Reader에서 읽어온 데이터를 가공 또는 처리하는 역할

  • Writer(작성자)
    : Processor에서 가공된 데이터를 저장하거나 외부 시스템에 전송하는 역할

  • Listener(리스너)
    : Job 또는 Step의 실행 중에 이벤트가 발생할 때 특정 로직을 수행하기 위해 사용

    👉 대용량 데이터 처리를 효율적이고 안정적으로 수행할 수 있다.

스프링 배치 구조

스프링 배치의 3가지 주요 Layer
  • Application
    : 배치 처리를 위한 모든 사용자의 코드와 설정 포함
  • Batch Core
    : Job, Step, JobLauncher, JobParameter
  • Batch Infrastructure
    : File, DB, ItemReader, ItemWriter

스프링에서 제공하는 특성 그대로 사용 가능하다

스프링배치는 스케줄러가 아니다

  • 특정 시간/이벤트에 따라 Job이 실행되는 이벤트가 없다.
  • Job을 관리는 하지만 실행시키는 주체는 아니다.
profile
Just Do IT ------- 🏃‍♀️

0개의 댓글