최근에 회사에서 난생 처음으로 배치 개발을 해보게 되어서 공부하게 된 내용 + 공부할 내용 + @를 쓸 예정이다 ㅎㅎㅎ
스프링 배치라는 것이 있다는 것은 알고 있었는데(그냥 대용량 데이터 처리를 할 때 쓴다는 것만 알고 있었음) 내가 직접 해보게 될 줄은 몰랐당
해보라고 했을 때는 좀 무서웠지만 막상 해보니 재미도 있고 원래 하던 개발이랑은 좀 색다른 맛이 있어서 아주 좋은 경험이였음!
뭔가 촤라라락 척척척 촤촤촥 되는 느낌? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 해본 사람이라면 알 수도 모를 수도 있는 말이지 않을까 싶네여
Spring Batch란?
스프링 배치(Spring Batch)는 대용량의 데이터를 처리하고, 반복적으로 수행되는 일괄 처리 작업을 지원하는 오픈 소스 프레임워크임.
스프링 배치는 일괄 처리 작업을 단계별로 분리하여 실행하고, 각 단계에서의 실패나 예외 처리, 트랜잭션 관리 등을 제공하여 안정적이고 확장 가능한 배치 작업을 개발할 수 있도록 도와줌 !
Spring Batch가 사용되는 경우
1. 대용량 데이터의 처리
스프링 배치는 대용량의 데이터를 효율적으로 처리하고, 성능을 최적화하기 위한 기능들을 제공함.
2. 주기적으로 반복되는 작업
스프링 배치는 스케줄링을 통해 일정한 주기로 작업을 실행하고, 이전 작업의 성공 여부 등을 고려하여 제어가 가능함.
3. 복잡한 비즈니스 로직의 배치 작업
스프링 배치는 다양한 단계(Chunk)로 배치 작업을 분리하고, 각 단계에서 트랜잭션, 예외 처리, 재시도 등을 관리할 수 있는 많은 기능을 사용할 수 있음.
위에서 언급된 Chunk 등의 용어는 후에 기회가 되면 더 설명하도록 하겠슴요 !
그리고 다음엔 왜 굳이 Spring Batch를 사용해야 되는지에 대해 정리를 해볼 예정이다.
그냥 Spring이나 java를 사용하면 대용량 데이터 처리를 못해? chunk의 개념을 그냥 java로 구현해서 사용하면 되는거아니야? 왜 굳이 Spring Batch를 써야돼?