목록 보기
Batch Scheduler 내재화 — OnQuartz 개발 여정
백엔드

Batch Scheduler 내재화 — OnQuartz 개발 여정

롯데ON
롯데ON
2025년 11월 26일

두줄요약

외부 Batch Scheduler를 Quartz 기반으로 내재화한 과정과 최종 구조를 공유했습니다. 배포·롤백·중복 실행·무한 RUNNING 같은 운영 예외를 줄이기 위한 시행착오도 함께 정리했습니다.

문제 상황

  • 외부 Batch Scheduler 솔루션의 운영 비용 부담과 커스터마이징 한계
  • 장애 원인 파악과 대응의 어려움, 별도 UI 관리의 불편함
  • MSA 환경에서 기존 흐름을 유지하며 무중단에 가깝게 전환할 필요성

원인 분석

  • 외부 솔루션 의존으로 인한 비용과 운영 복잡도 누적
  • 배포/롤백과 리더 교체 시점에서 스케줄러 중복 동작 가능성
  • 비동기 실행, 중복 실행, 무한 RUNNING 등 운영 예외 케이스 존재

해결 방법

  • Quartz Scheduler 도입으로 클러스터링과 HA 기반의 내재화 구성
  • DB Lock과 리더 선출로 BLUE-GREEN 배포 환경에서 활성 인스턴스만 스케줄링
  • 공통 라이브러리와 Kafka, TTL, Executor/TaskDecorator 적용으로 추적성과 안정성 강화

성능/운영 포인트

  • MISFIRE 정책과 clusterCheckinInterval, misfireThreshold 조정으로 지연 실행 제어
  • RUNNING 상태 작업 SKIP, alive 메시지 기반 상태 감지, FAIL 처리로 무한 대기 방지
  • 대시보드 구축으로 Batch 관리와 모니터링 시각화

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...