<aside>
💡 Quartz, Spring Batch는 자료 찾기가 쉽지 않습니다. 자료를 찾으면 일단 링크를 저장해 두고, 괜찮은 자료인지 천천히 읽어나갈 필요가 있습니다
</aside>
들어가기 전에 : 배치 스케쥴링
배치 작업을 수행하기 위해서는 일정 시간마다 배치 실행을 위한 이벤트를 발생시켜 줘야 하는데, 이를 스케쥴링이라고 한다
가능한 스케쥴링 방식
- 수작업
- OS Level : Linux Crontab, Windows Task Scheduler
- Framework Level : Spring Scheduler, Quartz, Spring Cloud Data Flow
- 3rd Party App : Airflow, Jenkins. Teamcity
→ Quartz는 프레임워크 레벨에서 스케쥴링을 수행해 줌
Quartz 소개 및 동작원리
스케쥴링을 위해 Quartz를 써야할 이유/쓰지 말아야할 이유
써야할 이유
- cron 등과 대비해서 소스코드 수준에서 이력관리가 용이
- Java, Spring과 호환성이 좋고 다양한 연계 plug-in 존재
- 굉장히 세밀한 커스터마이징이 가능
- 멀티 노드(클러스터)에 대한 스케쥴 서비스가 필요할 경우 대체불가능한 선택지
쓰지 말아야 할 이유
- Spring 자체적으로 대체재 존재(Spring Scheduler)
- 타 스케쥴 방식에 비해 높은 진입장벽, 너무 많은 설정
- 웹 UI는 제공되지 않아 직접 구성해야 하는 번거로움