Study/Spring Batch 2

[Spring Batch] Job Lifecycle

Job의 라이프사이클을 이해하는 것은 잡을 구조화하고 실행 시에 발생하는 상황을 이해하는 데 중요하다. 잡을 정의할 때 실제로 하는 일은 잡과 관련된 청사진을 제공하는 것이다. 자바 클래스 코드 작성이 JVM에서 인스턴스를 생성하는 청사진을 정의하는 일인 것처럼 잡을 정의하는 것은 스프링 배치가 잡의 인스턴스를 생성하는데 필요한 일종의 청사진이다. 잡 실행은 job runner에서 시작한다. job runner는 잡 이름과 여러 파라미터를 받아들여 잡을 실행시킨다. 스프링 배치는 두 가지 잡 러너를 제공한다. CommandLineJobRunner: 이 잡 러너는 스크립트를 이용하거나 명령행에서 직접 잡을 실행할 때 사용한다. CommandLineRunner는 스프링을 부트스트랩하고, 전달받은 파라미터를 ..

Study/Spring Batch 2022.01.31

Spring Batch 기본 개념

배치 프로그램 정해진 시간에 일괄 작업을 처리한다(대체로 대용량) 배치 프로그램은 보이지는 않지만 늘 존재한다. 서비스 운영 관점에서 주기적으로 작업을 처리하려면 배치 프로그램을 사용해야 한다. 배치 프로그램이 필요한 상황 필요한 데이터를 모아서 처리해야 할 때 ex. 월별 거래 명세서 생성 일부러 지연시켜 처리할 때 ex.주문한 상품을 바로 배송처리 하지 않고 일정 시간 뒤 처리 자원을 효율적으로 활용하기 위해 트래픽이 적은 시간 대에 서버 리소스를 활용 데이터 처리 배치 프로그램 사용 예시 각 서비스의 데이터를 데이터 웨어하우스에 저장할 때 ETL(Extract-Transform-Load, 추출 - 변환 - 저장) 아마존에서 연관 상품을 추천하는 것처럼 데이터 모델을 만들 때 유저 리텐션, 액티브 상..

Study/Spring Batch 2022.01.21