배치(Batch)
데이터 일괄처리 (실시간으로 처리하는 개념x)
스케줄러(Scheduler)
일정한 시각에 특정 로직을 돌리기 위해 사용하는 것
* Batch vs Scheduler 차이점?
- 배치와 스케줄러는 비교 대상이 아니다
-> 배치를 구현하기 위해서는 스케줄러를 사용해야함
- 배치 프로그램(Batch Program)
사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것
수행 주기에 따라서 구분
- 정기 배치 : 일,주,월과 같이 정해진 기간에 정기적으로 수행
- 이벤트성 배치 : 특정 조건을 설정해주도 조건이 충족될 때만 수행
- On-Demand 배치 : 사용자 요청 시 수행
배치 프로그램이 갖추어야 하는 필수 요소
![](https://velog.velcdn.com/images/whtjd999/post/d336defc-bcac-40f8-a112-f89260f2df6c/image.png)
- 배치 스케줄러(Batch Scheduler)
일괄 처리(Batch Processing) 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해 주는 도구
( + 배치 스케줄러는 특정 업무(Job)를 원하는 시간에 처리 할 수 있도록 지원한다는 특성 때문에 잡스케줄러(Job Scheduler)라고도 불림 )
배치 스케줄러 종류
- 스프링 배치 (Spring Batch)
- Quartz
- Cron