현재 회사의 배치 프로그램에 관련한 내 생각

오늘 아침에 비가 내렸다.

지하철을 타면서 우리 회사의 배치 프로그램에 대해서 다시 한번 생각을 해봤다.

현재 우리 회사는 스프링 부트 애플리케이션으로 배포가 되어있지만,

배치를 php 스크립트와 리눅스 크론을 쓴다는건 정말 비효율적이라고 생각했다….!!!

( 유지 보수 및 관리 차원 , 성능.)

레거시를 걷어내고 스프링 배치로 수정을 해야겠다.

하지만, 스프링 배치에 대한 학습이 필요하다.

퇴근하고 회사 스터디 모임에서 스프링 배치에 대해서 공부하자고 의견을 내야겠다.

간단하게 스프링 배치와 쿼츠, 스케줄러에 관한 정리를 해봤다.

Spring Batch vs Quartz? Scheduler?

Spring Batch는 Scheduler가 아니기에 비교 대상이 아니다.

Spring Batch는 Batch Job을 관리하지만 Job을 구동하거나 실행시키는 기능은 없다.

Spring에서 Batch Job을 실행시키기 위해서는

Quartz, Scheduler, Jenkins등 전용 Scheduler를 사용해야 한다. (@Scheduled)

스프링 배치를 써야 하는 이유

자바를 사용하고 있는 개발자라면 배치 어플리케이션을 개발함에 있어 스프링 배치보다 더 나은 선택은 없다.

서비스를 제공하는 모든 회사에는 배치 작업이 필요하다.

배치 작업은 막상 개발을 시작하면 고려해야 될 것이 정말 많다.

하지만, 스프링 배치를 활용하면 풍부한 기능을 활용한 개발의 생산성과, 코드의 일관성을 높여 유지 보수를 수월하게 할 수 있다.

스프링 부트로 배치를 개발하면 스프링 배치일까??

스프링 배치는 스프링 부트처럼 스프링 프레임워크의 시리즈 중 하나이다.

스프링 부트의 MVC 패턴이 있다면 스프링 배치에는 Job-Step 패턴이 있다.

배치 작업을 위한 프레임워크로써 데이터를 읽고 쓰는 분야와 단계별 작업 처리에 특화.