Certificate/정보처리기사

[4과목 프로그래밍 언어 활용] 서버 프로그램 구현 - 130. ⭐ 배치 프로그램

S_sun 2025. 11. 20. 09:49
  • 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것
  • 배치 프로그램이 자동으로 수행되는 주기
배치 설명
정기 배치 일, 주, 월과 같이 정해진 기간에 정기적으로 수행
이벤트성 배치 특정 조건을 설정해두고 조건이 충족될 때만 수행
On-Demand 배치 사용자 요청 시 수행

 

⭐ 배치 프로그램 필수 요소

요소 설명
대용량 데이터 대량의 데이터를 가져오기, 전달, 계산하는 등의 처리가 가능해야 함
자동화 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입없이 수행되어야 함
견고성 잘못된 데이터나 데이터 중복 등의 상황으로 중단되는 일 없이 수행되어야 함
안정성/신뢰성 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야 함
성능 다른 응용 프로그램의 수행을 방해하지 않아야 하고, 지정된 시간 내에 처리가 완료되어야 함

 

1. 배치 스케줄러(Batch Scheduler) = 잡 스케줄러(Job Scheduler)

  • 일괄 처리(Batch Processing) 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구
  • 스프링 배치, Quartz

1) 스프링 배치(Spring Batch)

  • Spring Source 사와 Accenture 사가 2007년 공동 개발한 오플 소스 프레임워크
  • 스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능들을 모두 사용 가능
  • 데이터베이스나 파일의 데이터를 교환하는데 필요한 컴포넌트를 제공
  • 로그 관리, 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작 등의 다양한 기능을 제공
주요 구성요소 설명
Job 수행할 작업 정의
Job Launcher 실행을 위한 인터페이스
Step Job 처리를 위한 제어 정보
Job Repository Step의 제어 정보를 포함하여 작업 실행을 위한 모든 정보 저장

 

2) Quartz

  • 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리
  • 수행할 작업과 수행 시간을 관리하는 요소들을 분리하여 일관 처리 작업에 유연성을 제공
주요 구성요소 설명
Scheduler 실행 환경 관리
Job 수행할 작업 정의
JobDetail Job의 상세 정보
Trigger Job의 실행 스케줄 정의

 

 

 

📖 Reference
 

2023 시나공 정보처리기사 필기 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

728x90
반응형