반응형
1. 서버 프로그램 구현 - 배치 프로그램
1) 배치 프로그램(Batch Program)
배치란? 일괄처리를 위해 함께 묶음을 의미
배치 프로그램은 사용자와 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리를 의미
[배치 프로그램의 종류]
- 정기 배치 : 일, 주, 월과 같이 정해진 기간에 정기적 수행
- 이벤트성 배치 : 특정 조건을 설정해두고 조건이 충족될 때만 수행
- On-Demand 배치 : 사용자 요청 시 수행됨
=> 배치 프로그램은 자동으로 수행되는 주기에 따라 구분이 됨
[배치 프로그램의 필수요소]
- 대용량 데이터 : 대량의 데이터여도 처리 가능
- 자동화 : 사용자 개입 없이 수행 가능(심각한 상황 제외)
- 견고성 : 잘못된 데이터나 중복 등의 상황으로 중단되는 일이 없어야 함
- 안정성/신뢰성 : 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야함
- 성능 : 다른 응용 프로그램의 수행을 방해하지 않고, 지정된 시간 내에 처리가 완료되어야 함
2) 배치 스케쥴러(Batch Schedular)
일괄처리(Batch Processing) 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구,
잡 스케줄러(Job Schedular)라고도 불림
[배치 스케줄러의 종류]
- 스프링 배치(Spring Batch)
- 스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능들을 모두 사용 가능
- 데이터베이스나 파일의 데이터를 교환하는데 필요한 컴포넌트들을 제공
- 로그 관리, 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작 등의 다양한 기능을 제공
- 주요 구성 요소
Job 수행할 작업 정의 Job Launchar 실행을 위한 인터페이스 Step Job 처리를 위한 제어 정보 Job Repository Step의 제어 정보를 포함하여 작업 실행을 위한 모든 정보 저장
- Quartz
- 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리
- 수행할 작업과 수행 시간을 관리하는 요소들을 분리하여 일괄 처리 작업에 유연성을 제공
- 주요 구성 요소
Scheduler 실행 환경 관리 Job 수행할 작업 정의 JobDetail Job의 상세 정보 Trigger Job의 실행 스케줄 정의
반응형
'정보처리기사_기록용 > 필기' 카테고리의 다른 글
[4. 프로그래밍 언어 활용] Unix, Linux, Mac OS (0) | 2022.04.05 |
---|---|
[4. 프로그래밍 언어 활용] 서버개발 (0) | 2022.03.30 |