반응형
- 배치
데이터 처리에서 즉시성을 필요로 하지 않을 경우, 일정량 또는 일정 기간 데이터를 수집한 후 일괄 처리를 하는 방식
ex)
1. 정산 시스템
2. 데이터 마이그레이션
3. 약관 변경 메일
4. 통계
5. 게임 랭킹
6. 쇼핑몰 배송요청
장점:
- 자원을 효율적으로 사용 (대량의 데이터를 실시간으로 매번 처리하면 자원의 낭비가 크다)
- 대량의 데이터 처리
- 주로 정해진 시간에 반복적으로 실행
- 사용자와의 상호작용 없이 동작
단점:
- 실시간성 결핍
- 잘못 동작하면 큰 문제가 된다.
Read - Process - Writes
DB읽고 - 처리하고 - 저장하고
근데 왜 Spring batch??
Spring의 특징을 그대로 사용하여 Spring에 익숙하다면 금방 배울 수 있다.
대용량 처리에 능하다 -> 최적화, Chunk 기반 처리
성능 - 파티셔닝, 병렬 , 최적화
견고성 - 예외상황에 대한 방어코드 지원
신뢰성 - 로깅 및 추적, 작업 처리 통계, 트랜잭션 관리
job -> 잘 변하지 않음
business -> 잘 변함
spring batch가 아닌 flow 기본 자바코드로 job flow를 확인함.
반응형