반응형
Tasklet은 단계 내에서 단일 테스크를 수행하기 위함입니다.
각 단계는 하나의 정의된 작업만 수행한다.
ex.
Csv파일에서 행을 읽고, 사람들의 나이를 계산해서, 새로운 파일로 쓰는 배치작업이 있다고 하자
이런식으로 각각의 모듈별로 다 Tasklet을 구현하고, 안에 execute 메소드를 오버라이드 해야한다.
Tasklet은 단순하게 처리할 수 있는 장점이 있지만, 대용량을 감당하기엔 부하를 감당할 수 없다.
따라서 Chunk를 통해서 쪼개서 넣을 필요가 있는데 Tasklet으로도 쪼개서 넣을수 있지만 가독성이 많이 떨어진다.
Tasklet을 사용한 Task 기반처리
-배치 처리 과정이 비교적 쉬운 경우 쉽게 사용
-대량 처리를 하는 경우 복잡
-하나의 큰 덩어리를 여러 덩어리로 나누어 처리하기 부적합하다.
Chunk기반처리
-ItemReader,ItemProcessor,ItemWriter 관계를 이해하고, 대량 처리를 Tasklet보다 쉽게 구현가능하다.
(Step 에서, ChunkSize기준으로 reader,processor,writer를 설정하면, 덩어리 별로 잘라서 처리해준다.)
반응형
'Develop > [Spring Batch]' 카테고리의 다른 글
[Spring Batch] 배치 실행 방법 (0) | 2022.04.11 |
---|---|
[Spring Batch] Cursor ,Paging 기반 (0) | 2022.04.11 |
[Spring Batch] 스프링 배치 트랜잭션 관리 청크기반으로 하는 이유 (0) | 2022.04.11 |
[Spring Batch] MultiThread vs partioning (0) | 2022.04.10 |
[Spring Batch] Chunk란? (0) | 2022.04.10 |