반응형
배치❓❓❓
일괄 처리(batch processing)란 최종 사용자의 개입 없이 또는 (자원이 허가한다면) 실행을 스케줄링할 수 있는 작업(job)의 실행을 의미한다.
위키피디아에서 검색해보면 이렇게 정의되어있다❗❗
우리가 아무것도 하지 않아도 알아서 데이터를 처리하는 것이 바로 배치이다👍
배치는 그럼 어디서 많이 쓰일까❓❓
- 매일 100만 개의 데이터를 수집해서 통계를 해야 내야 한다면❓
- 모든 휴면계정의 사람들에게 일괄적으로 이메일, 문자를 보내야 한다면❓
- 1시간마다 API를 호출해 10만 개의 데이터를 DB에 넣어야 한다면❓
보통 대용량의 데이터를 처리할 때 많이 쓰이게 된다❗
스프링 배치❓❓
역시 위키피디아에서 검색해보면❓❗
스프링은 특정 시간대에 실행하거나 대용량의 자료를 처리하는데 쓰이는 일괄 처리(Batch Processing)를 지원하는 배치 프레임워크를 제공한다. 기본적으로 스프링 배치는 Quartz 기반으로 동작한다.
스프링 진형에서도 배치 프레임워크를 제공해준다❗
Spring Batch 프로젝트는 Accenture와 Spring Source의 공동 작업으로 2007년에 탄생했고, Accenture의 배치 노하우 & 기술력과 Spring 프레임워크가 합쳐져 만들어진 것이 Spring Batch라고 한다.
(내 배치 소스코드 만들려고 왔는데 머 그런 거까지 알아야 되니??)
스프링 배치의 조건 5가지❗
스프링 배치를 이용하기 전에 배치 어플리케이션이 최소한으로 만족해야 하는 조건들을 살펴보자!
- 대용량 데이터 - 배치 어플리케이션은 대량의 데이터를 가져오거나, 전달하거나, 계산하는 등의 처리를 할 수 있어야 한다.
- 자동화 - 배치 어플리케이션은 심각한 문제 해결을 제외하고는 사용자 개입 없이 실행되어야 한다.
- 견고성 - 배치 어플리케이션은 잘못된 데이터를 충돌/중단 없이 처리할 수 있어야 한다.
- 신뢰성 - 배치 어플리케이션은 무엇이 잘못되었는지를 추적할 수 있어야 한다. (로깅, 알림)
- 성능 - 배치 어플리케이션은 지정한 시간 안에 처리를 완료하거나 동시에 실행되는 다른 어플리케이션을 방해하지 않도록 수행되어야 한다.
다음엔 배치가 대충 무엇인지 알아보았으니 Job(?)과 Step(?)을 만들어 배치를 간단하게 만들어보자❗❗
참고
https://jojoldu.tistory.com/324?category=902551
반응형
'Spring Batch' 카테고리의 다른 글
Spring Batch 개발기 ( 5. 영화진흥위원회 API ) (0) | 2021.09.09 |
---|---|
Spring Batch 개발기 ( 4. MetaData테이블 ) (1) | 2021.07.16 |
Spring Batch 개발기 ( 3. Mysql 사용하기 ) (0) | 2021.06.25 |
Spring Batch 개발기 ( 2. Job&Step?? ) (0) | 2021.06.23 |
Spring Batch 개발기 (0) | 2021.06.23 |