-
batch = 일괄처리
무엇을?
"단발성으로 대용량의 데이터를"
(예 : 이관 , 검증, 이벤트 등)
실시간 서비스 외에 정해진 시간에 일괄처리 되어야 하는 작업들을 batch라고 하고,
처리하는 어플리케이션을 배치 애플리케이션이라고 한다.
batch에는 여러 방법이 있지만 두가지를 다루고자 한다.
1) 스프링 배치 이용하기
2) Jenkins을 Batch Scheduler로 활용하기
1) 스프링 배치 이용하기
# 향로님 블로그 참고
2) Jenkins을 Batch Scheduler로 활용하기
젠킨스에서 제공하는 기능을 통해 정해진 시간에 배포를 할 수 있다.
: 정해진 시간에 실행되는 잡을 cron job이라고 하고 보통은 리눅스 명령어인 crontab을 사용한다.
: shell을 사용한 batch는 UI가 없고 로그 확인 어려운 단점이 있다.
> Jenkins 다운로드
> batch job 생성
> build periodically를 이용하여 batch scheduler 등록
- batch script 작성
(jenkins은 cron expression을 사용)
# 인호님 블로그 참고
# 향로님 블로그 참고
어떤 것을 사용할 것인가?
"자신의 프로젝트의 특징에 맞는 방법을 선택할 필요가 있다."
스프링 배치를 사용할 수 도 있지만
스케줄러로 batch기능 구현 하는 방법도 있는데
스프링 vs 젠킨스 스케줄러 차이점은 제어하는 곳이 어디에 있는지인 것 같다.
젠킨스를 사용시
장점
- Integration
- 실행이력, 로그관리, dashboard
- 다양한 실행 방법(Rest API/ 스케줄링/ 수동 실행)
- 계정별 권한 관리
- 파이프라인
- Web UI + script 둘다 사용가능
- Plugin
단점
젠킨스 커뮤니티
https://www.facebook.com/groups/jenkinskorea/
'도커_젠킨스' 카테고리의 다른 글
도커 네트워크로 컨테이너들 연결(spring boot, mysql, redis) (0) 2023.03.22 댓글