일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 참조 타입
- 스프링 빈
- 이펙티브 자바
- 가변 객체
- 익명 함수
- 싱글 스레드
- Spring Batch
- 일괄처리
- Dispatcher Servlet
- 메서드 주입
- Handler Adepter
- 생성자 주입
- Batch
- spring boot
- Spring Framework
- mavenCentral
- View Resolver
- open-in-view
- @Configuration
- Open EntityManager In View
- @FunctionalInterface
- 빈
- open session in view
- @componentScan
- 불변 객체
- @Bean
- Request flow
- OSIV
- 필드 주입
- 컴포넌트스캔
Archives
- Today
- Total
보다 더 나은 내일의 나를 위해
Spring Batch 개념잡기 본문
스프링 배치 (Spring Batch)
일괄 처리를 위한 오픈소스 프레임 워크
여러 Job을 순차적으로 처리한다.
보통 어떤 경우에 사용할까?
- 대용량 비지니스 데이터를 복잡한 작업으로 처리해야하는 경우
- 특정한 시점에스케쥴러를 통해 자동화된 작업이 필요한 경우 ( ex. 푸시알림, 월 별 리포트)
- 대용량 데이터 포멧을 변경, 유효성 검사 등의 작업을 트랜젝션 안에서 처리 후 기록해야하는 경우
스프링 배치 시나리오
- 읽기 → 데이터 저장소(데이터베이스, 파일 등)에서 데이터를 읽어온다.
- 처리 → 데이터를 원하는 대로 가공 / 처리 한다.
- 쓰기 → 처리 완료된 데이터를 저장한다.
스프링 배치 관계도
- Job과 Step은 1:M의 연관 관계를 맺고 있다.
- Step와 ItemReader, ItemProcessor, ItemWriter들은 각각 1:1의 연관 관계를 맺고 있다.
Job
job은 하나의 작업이다.
작업은 여러 단계로 구분된다.
여러 단계의 모임이다.
Step
step은 단일 단계를 말한다.
일반적으로 Chunk 지향 프로세싱을 이용한다.더보기Chunk 지향 프로세싱
한번에 하나씩 데이터를 읽어 Chunk 덩어리를 만들어 이 덩어리 단위로 트랜잭션을 다루는 것
수행 중 실패할 경우 해당 Chunk만큼 콜백이 되고 이전에 커밋 된 트랜잭션 범위까지는 반영Reader, Processor에서는 1건씩 다루고, Writer에서는 Chunk 단위로 일괄 처리한다.
Reader, Processor, Writer를 이용하여 구성된다.
다음 포스팅에서는 코드를 통해 알아보자.
'spring > batch' 카테고리의 다른 글
Spring Batch 코드로 알아보기 (0) | 2022.04.25 |
---|
Comments