Spring/Batch

태태개발일지 - spring batch 대용량 처리

태태코 2024. 4. 13. 16:14
반응형

- 배치 

데이터 처리에서 즉시성을 필요로 하지 않을 경우, 일정량 또는 일정 기간 데이터를 수집한 후 일괄 처리를 하는 방식

 

ex) 

1. 정산 시스템

2. 데이터 마이그레이션

3. 약관 변경 메일

4. 통계

5. 게임 랭킹

6. 쇼핑몰 배송요청

 

장점: 

 - 자원을 효율적으로 사용 (대량의 데이터를 실시간으로 매번 처리하면 자원의 낭비가 크다)

 - 대량의 데이터 처리

 - 주로 정해진 시간에 반복적으로 실행

 - 사용자와의 상호작용 없이 동작

 

 

단점:

 - 실시간성 결핍

 - 잘못 동작하면 큰 문제가 된다.

 

 

Read    -   Process  -  Writes

DB읽고 -   처리하고   -  저장하고

 

근데 왜 Spring batch??

Spring의 특징을 그대로 사용하여 Spring에 익숙하다면 금방 배울 수 있다.

대용량 처리에 능하다 -> 최적화, Chunk 기반 처리

성능 - 파티셔닝, 병렬 , 최적화

견고성 - 예외상황에 대한 방어코드 지원

신뢰성 - 로깅 및 추적, 작업 처리 통계, 트랜잭션 관리

 

 

 

job -> 잘 변하지 않음

business -> 잘 변함

 

 

spring batch가 아닌 flow 기본 자바코드로 job flow를 확인함.

반응형