본문 바로가기

IT 용어 정리

배치 프로그램과 배치 스케줄러란?

배치 프로그램

- 사용자와의 상호 작용 없이 일련의 작업들을 작업단위로 묶어

정기적으로 반복수행 OR 정해진 규칙에 따라 일괄처리하는 것입니다.

배치 프로그램의 필수 요소

 

요소 설명
대용량 데이터

대용량의 데이터 처리

견고함

유효하지 않은 데이터의 경우도 처리해 비정상적인 동작 중단이 발생하지 않아야합니다.

안전성

어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할수 있게 합니다.

자동화

심각한 오류 상황 외에는 사용자의 개입없이 작동합니다.

성능

주어진 시간내에 처리를 완료할 수 있게 합니다.

배치 스케줄러

- 일괄처리를 위해 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는도구

배치 스케줄러 종류

1. 스프링 배치

 

  1) 핵심 컴포넌트

 

컴포넌트 설명
Job 배치처리를 의미하는 애플리케이션 컴포넌트
Step Job의 각단계를 의미
Item 데이터 소스로부터 읽거나 데이터 소스로 저장하는 각레코드
Chunk 특정 크기를 갖는 아이템 목록
Job Repository Job Execution 관련 메타데이터를 저장하는 기반 컴포넌트
JPA 페이징 기능 제공

 

  2) 핵심 기능

 

  - 스프링 프레임워크 기반

 

  - 자체 제공 컴포넌트

 

  - 견고함과 안정성

 

2. Quartz 스케줄러

 

- 스프링 프레임워크에 플러그인 되어 수행하는 job과 실행 스케줄을 정의하는 트리거를 분리하여 유연성 제공

 

  1) 구성요소

 

  - 트리거

 

  - 스케줄러

 

  - 잡디테일