배치 란
- 사용자와 상호작용 없이 여러 개의 작업을 미리 정해진 순서에 따라 중단 없이 처리하는 것
데이터의 일괄처리를 뜻한다. ( 데이터를 실시간으로 처리하는 개념X )
배치의 특징

스케줄러 란
- 특정한 시간에 등록한 작업을 자동으로 실행시키는 것
스케줄러의 특징

Quartz 란
Quartz는 Terracotta 라는 회사에서 의해 개발된 Job Scheduling 라이브러리입니다. 완전히 자바로 개발되어 어느 자바 프로그램에서도 쉽게 통합해서 개발할 수 있습니다.
Quartz는 수십에서 수천 개의 작업도 실행 가능하며 간단한 interval 형식이나 Cron 표현식으로 복잡한 스케줄링도 지원합니다. 예를 들면 매주 실행하는 작업이나 매월 마지막 날에 실행하는 작업도 지정할 수 있습니다.
Quartz 장단점
장점
- DB 기반으로 스케줄러 간의 Clustering 기능을 제공한다
- 시스템 Fail-over와 Random 방식의 로드 분산처리를 지원한다
- In-memory Job Scheduler도 제공한다
- 여러 기본 Plug-in을 제공한다
- ShutdownHookPlugin - JVM 종료 이벤트를 캐치해서 스케줄러에게 종료를 알려준다
- LoggingJobHistoryPlugin - Job 실행에 대한 로그를 남겨 디버깅할 때 유용하게 사용할 수 있다
단점
- Clustering 기능을 제공하지만, 단순한 random 방식이라서 완벽한 Cluster 간의 로드 분산은 안된다
- 어드민 UI을 제공하지 않는다
- 스케줄링 실행에 대한 History는 보관하지 않는다
- Fixed Delay 타입을 보장하지 않으므로 추가 작업이 필요하다
* Clustering : 여러 개체를 묶는 것 혹은 비슷한 개체끼리 묶는 것
[Spring] Batch와 Scheduler의 차이 [Spring Scheduler 사용방법]
1. Batch와 Scheduler의 차이 1) 배치(Batch)란? 배치(Batch) : 일괄처리 사용자와 상호작용 없이 여러 개의 작업을 미리 정해진 순서에 따라 중단 없이 처리하는 것 2) 스케쥴러(Scheduler)란? 특정한 시간에
yermi.tistory.com
'개발 공부 > 개발 지식' 카테고리의 다른 글
| Nginx 란? (0) | 2023.07.18 |
|---|---|
| 자주 쓰는 Linux 명령어 (0) | 2023.07.18 |
| 프로그램 / 프로세스 / 스레드 / 멀티 스레드 (0) | 2023.07.18 |
| Eclipse에서 xml파일의 쓰임새 (2) | 2023.04.18 |
| 데이터베이스 샤딩이란? (1) | 2023.04.17 |