Recent Posts
Link
Archives
킹다의 개발블로그
스프링 배치(Spring batch) - 1 본문
반응형
스프링 배치?
이번 글은 스프링 배치에 대해 알아보자.💨
사실 스프링 배치를 처음 들었을 때는 이건 또 뭐지? 어떤 개념이지? 전혀 알 수 없었다. 하지만 예시를 보면 바로 이해가 가능하고 어렵지 않은 개념이라고 생각한다.
스프링 배치(Spring Batch)
일괄처리라고 생각하면 된다. 정해진 시간에 자동으로 진행되는 업무를 처리하는 것이다. 예를 들어 가게에서 손님이 물건을 사갈 때 마다 마감을 하진 않는다. 이러한 작업은 불필요하기 때문이다. 그래서 가게가 문을 닫은 후 마감을 진행하는데 이럴 때 일괄처리로 진행을 한다. 이런게 바로 배치라고 생각하면 된다.
일단 여기까지는 이게 어떤것인지 감이 올 것이다.
그럼 이런 일괄처리를 어디서 사용할까?
1. 대용량의 비즈니스 데이터를 복잡한 작업으로 처리해야하는 경우
2. 특정한 시점에 스케줄러를 통해 자동화된 작업이 필요한 경우 (ex. 푸시알림, 월별 리포트)
3. 대용량 데이터의 포맷을 변경, 유효성 검사 등의 작업을 트랜잭션 안에서 처리 후 기록해야하는 경우
배치의 일반적인 사용 시나리오를 보자
일괄처리답게 데이터를 읽고 비즈니스 로직을 타고 데이터를 쓴다. 이런 프로세스를 계속 반복하고 구현되어 있다.
배치 관련 객체 관계도
Job
하나의 Job에는 여러 Step이 있다. 최소 하나의 Step을 가져야 하고 2-10개의 Step을 권장한다.
너무 많은 책임을 몰리게 하면 안됨💥
Step
Step은 읽기, 가공, 쓰기의 묶음이다. 이러한 묶음을 Chunk processing 이라고 부른다. 이것을 하나의 트랜잭션으로 이해하면 된다.
다음 2편에서 ->
참고: https://www.fwantastic.com/2019/12/spring-batch-intro.html
반응형
'02. 프레임워크 > spring' 카테고리의 다른 글
Spring Cloud Config Client 설정해보기 (0) | 2021.08.13 |
---|---|
Spring Cloud Config Server 설정해보기 (0) | 2021.08.13 |
@Valid (0) | 2021.08.12 |
Spring Security - 2 (0) | 2021.08.10 |
Dao 와 Mapper의 차이 (2) | 2021.08.10 |
Comments