기존의 Batch(crontab) 에서 Spring Batch 로 변경하게 된다면 향상되는 측면은 어떤 것이 있나요?

1,240 views
Skip to first unread message

신종원

unread,
Mar 13, 2016, 11:32:51 PM3/13/16
to Korea Spring User Group Q&A
현재 시스템에서는 batch 프로그램 작성 후 crontab에 등록하여서 스케줄링을 관리하는데

이걸 Spring Batch로 바꾸게 된다면 얻게 되는 이점이 뭐가 있는지 궁금해서 문의를 드립니다
(기존 batch작업은 대부분 대용량 작업입니다)

Jisung Ahn

unread,
Mar 14, 2016, 10:56:33 AM3/14/16
to ks...@googlegroups.com
기업 환경에서 배치 작업에  요구되는 작업내역기록, 각 개별 실행 환경 구별,  일시 정지, 정지, 재개, 분리된 트랜잭션, 일정 묶음 단위 커밋 등에 대한  기능을 제공합니다. 
물론 이런게 필요 없으면 않쓰셔도 되고요.  그런데 이런 요구사항이 하나씩 추가될 가능성이 꽤나 높고, 그럴때 이미 구현된 배치 어플리케이션을 수정하기 보다 애시당초 튼튼한 기반으로 만드는게 좋지 않을까 합니다. 

스프링 배치는 "실행(Launch)"에 대한 부분을 제공하지는 않습니다. 런처로 cron, jenkins, quartz scheduler등이 많이 사용됩니다. 
최근에는 Spring Batch Admin이라는 웹 인터페이스를 샘플 처럼 제공하기도 합니다. 




2016년 3월 14일 오후 12:32, 신종원 <sin...@gmail.com>님이 작성:
현재 시스템에서는 batch 프로그램 작성 후 crontab에 등록하여서 스케줄링을 관리하는데

이걸 Spring Batch로 바꾸게 된다면 얻게 되는 이점이 뭐가 있는지 궁금해서 문의를 드립니다
(기존 batch작업은 대부분 대용량 작업입니다)

--
이 메일은 Google 그룹스 'Korea Spring User Group Q&A' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 ksug+uns...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/ksug에서 이 그룹을 방문하세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/ksug/4a53a1ed-5e1f-40ec-8d97-d9cb33c6aa7a%40googlegroups.com을(를) 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

Sanghyuk Jung

unread,
Mar 14, 2016, 9:40:50 PM3/14/16
to ks...@googlegroups.com
위에서도 말씀해주셨듯이 Spring batch의 Cron은 대체관계가 아닙니다. Spring batch은 스캐쥴링에 대한 기능을 제공하지 않습니다. Spring batch를 쓰면서도 Cron으로 실행 스케쥴링을 할 수도 있겠죠.

그리고 과거에는  스케쥴링에  Quartz가 많이 쓰였으나 Spring 3.0이후부터는 자체 스케쥴링 기능이 있기 때문에 단순히 cron expression으로 job을 실행하는 간단한 기능 정도는 Quartz를 쓰지 않아도 됩니다. Spring의 스케쥴링 기능은 Spring batch가 아닌 Spring-framework쪽에 들어가 있기 때문에 꼭 Spring batch를 쓰지 않아도 사용가능합니다.

제 주변에서는 배치 관리 용도로 Jenkins를 쓰는 경우도 많아 보입니다. 배치서버 용도로 만들어진 솔류션은 아니기는 하지만 Console로그 확인이나 분산 처리 등 풍부한 기능이 있어서 배치관리 용도로도 편하기도 합니다.


2016년 3월 14일 오후 11:56, Jisung Ahn <nar...@gmail.com>님이 작성:
Reply all
Reply to author
Forward
0 new messages