매일 매분 매초 쏟아지는
대량의 거래 데이터, 금융 데이터, 고객 행동 로그…

만일 여러분이...

수천 개의 거래 데이터를 처리하는
시스템을 만들고 있다면?

매일 발생하는 로그 파일을 분석하여 데이터를
추출하고, DB에 삽입해야 한다면?

정해진 시간에 고객 데이터를 정리하고
보고서를 자동으로 생성해야 한다면?

그럴 땐 가 BEST!

  • ★여기 주목!★

    스프링 배치는 대규모 데이터 처리에 특화된 프레임워크로,
    데이터의 배치 처리, 병렬 처리, 성능 최적화, 오류 복구 등 실무에서 꼭 필요한 기능들을 제공합니다.

1. 커리큘럼 상세 소개

핵심부터 성능 개선, 프로젝트까지 한 번에!
실무 바로 적용 가능한 Spring Batch A to Z 커리큘럼

STEP 01. 스프링 배치의 핵심 구조 이해

  • 스프링 배치 핵심 구조


    • 배치 필요성 & 구조
    • 스프링 배치 아키텍처 흐름
    • Job / Step / ExecutionContext

  • 배치 개발 실습


    • 환경 셋업 부터 실행까지 전 과정 실습
    • Job & Step 실습
    • 실행 단위, 메타데이터 실전
    • 적용

  • Chunk 기반 실전 구성


    • Chunk 흐름 알기
    • Chunk 처리 개념 & 사이즈 설정
    • 복합 처리, 체이닝, Writer 전략

  • 예외 처리와 운영 세팅


    • Skip / Retry 로직 설계
    • 오류 대응 전략
    • Listener 활용 자동 이벤트 감지

STEP 02. 스프링 배치 성능 최적화

  • 성능 개선 전략


    • Reader 튜닝
    • Processor / Writer 튜닝
    • 파티셔닝 전략 적용

  • 병목 분석 & 병렬 처리


    • 데이터 저장 병목 이슈
    • 배치 업데이트, JDBC, ORM 최적화
    •병렬 처리 및 I/O 최적화

  • 운영 고려사항


    • 메모리·CPU 등 시스템 자원 모니터링
    • 추적 가능한 로그 체계 구축
    • 적절한 Chunk Size 검토·조정

STEP 03. 스프링 배치 실전 프로젝트

  • 실무 프로젝트 3종


    • 실패 재처리 로직
    • 외부 API 연동 (HTTP ItemReader)
    • 테스트 가능한 구조 설계

  • 맞춤 설계 실습


    • 안정적 구조 설계
    • 장애 없는 데이터 처리
    • 성능 최적화 실습

  • 다양한 시나리오 흐름 처리 설계


    • 전체 실패, 부분 실패 등 다양한 시나리오 대응
    • 재처리 로직을 통한 데이터 정합성
    • 예외 유형별 자동 리트라이 및 스킵 정책 적용

“ 대용량 데이터를 처리하는 배치 시스템에서 성능은 곧 운영 효율과 서비스 안정성을 의미합니다. “

단 1초 차이가 수백만 건의 처리 속도를 바꾸고, 최적화되지 않은 배치는 시스템 리소스를 소모하며 장애, 지연, 비용 증가를 야기할 수 있습니다.

2. 실전 성능 최적화

대용량 데이터의 병목을 잡는 단계별 실습으로 성능 최적화 UP
청크 프로세싱부터 병렬 처리까지!

POINT 1 | 성능 최적화 단계별 성능 병목 분석 및 개선 실습

| 실습 자세히 보기

단계별로 발생하는 성능병목을 심도 있게 분석하고 단계별 개선 기법 실습을 통해 "실행 속도는 빠르게, 자원 사용은 효율적으로" 개선하는 전략을 익힙니다.

학습 목표

• 데이터 읽기 속도 측정 및 개선
• 병목 지점 시각화 및 최적화 전략 설계


학습 내용

• 성능 측정 도구 및 환경 구성
• Reader 성능 측정과 분석 방법론
• 실전 성능 분석 사례와 개선 전략
• Reader 성능 최적화 노하우 정리

학습 목표

• 대용량·실시간 처리 시 병목 없이 안정적 처리
• 데이터 누락·지연 문제 해결 경험 습득
• 실무형 Writer 구성 및 벌크 전략 설계 역량 확보

학습 내용

• 데이터 변환/필터링 병목 분석
• 캐싱, 비동기, 병렬 처리 전략 실습
• Writer 병목 원인 및 JDBC 벌크 처리
• 커밋 사이즈 조정과 트랜잭션 최적화
• JPA 환경에서의 벌크 처리 실습

학습 목표

• 대용량 배치의 빠르고 안정적인 처리
• 확장성·장애 격리에 강한 병렬 처리 구조 설계


학습 내용

• Partitioner를 통한 파티션 분할
• Master–Slave Step 구성
• PartitionHandler 설정으로 동시 실행

POINT 2 | 성능 최적화에서 가장 중요한 3가지 핵심 키워드 완전정복

  • KEYWORD 01

    청크 프로세싱

    왜 중요할까?
    Reader → Processor → Writer 세 단계를 하나의 묶음 청크 단위로 반복 처리하는 구조를 의미하며, Reader에서 데이터를 한 로우씩 읽어와서 Processor 처리 후, 가공된 데이터를 모아 Writer에서 저장하는 방식입니다.

  • KEYWORD 02

    벌크 IO 처리

    왜 중요할까?
    배치 성능 저하가 발생하는 구간은 주로 벌크 IO 작업 처리 시간이며, 여러 데이터를 한 번에 처리해 I/O 횟수를 줄이고 성능을 개선합니다. 청크 프로세싱과 결합하면 Writer 단계의 병목을 완화하고, 병렬 처리와 함께 대용량 데이터를 빠르고 안정적으로 처리할 수 있습니다.

  • KEYWORD 03

    병렬 처리

    왜 중요할까?
    청크 단위 처리 흐름 자체를 여러 개로 나눠 동시에 실행함으로써, 단일 프로세스의 처리 병목을 분산시키고 전체 처리 시간을 단축시킵니다. 파티셔닝 기법을 통해 데이터 범위를 나눈 후, 각 파티션에 대해 동일한 Reader → Processor → Writer 흐름을 병렬로 수행하게 됩니다.

스프링 배치 사용하시면서
이 부분에서 막히지 않으셨나요?

3. 프로젝트

‘진짜’ 실무의 벽을 넘는
3가지 핵심 배치 프로젝트

현업에서 실제로 부딪히는 문제들?
이 강의에서 담았습니다!

밤새 고민했던 실전 이슈들을
프로젝트로 직접 해결하는 법을 알려드립니다.

PROJECT 1 | 배치 실패 상황을 위한, 재처리가 가능한 배치 만들기

| 프로젝트 설명

전체 재실행 없이 실패한 구간만 선택적으로 다시 실행할 수 있는 배치 구조를 설계합니다. 대용량 데이터를 처리하는 환경에서 반복 실행에 따른 시간 낭비와 데이터 중복 저장 문제를 방지하며, ExecutionContext 기반으로 정합성을 유지하는 실무형 재처리 설계를 실습합니다.

| 학습 후 결과
데이터 중복 저장 및 정합성 문제를 방지하여 운영 리스크 최소화
동일 작업을 실행해도 결과가 변하지 않는 안전한 배치 설계 적용
재처리 범위를 최소화해 배치 재실행 시간 및 비용 절감
전체 재실행 없이, 실패한 구간만 부분 재처리 가능한 구조 구현

| 프로젝트 구현 내용

ImageSlide
ImageSlide
ImageSlide
ImageSlide

PROJECT 2 | 외부 연동을 위한, HTTP Page Item Reader

| 프로젝트 설명

Spring Batch에서는 기본 제공되지 않는 HTTP 기반 페이징 처리를 직접 구현해봅니다. API에서 데이터를 일정 단위로 받아와 처리하는 과정에서 생기는 페이징, 종료 조건, Chunk 단위 차이 등 실무에서 자주 마주치는 이슈들을 해결하며, 외부 API 연동부터 가공, 저장까지 하나의 배치 파이프라인을 완성합니다.

| 학습 후 결과
HTTP 기반 ItemReader 직접 구현
외부 REST API를 페이징 방식으로 안정적 연동하여 데이터 수집
기능을 직접 확장하여 실무에 유연하게 대응 가능
페이징, 예외 처리, 상태 저장 엔드-투-엔드 배치 구성 역량 배양

| 프로젝트 구현 내용

ImageSlide
ImageSlide
ImageSlide
ImageSlide

PROJECT 3 | 실제 운영을 위한, 스프링 배치 Test

| 프로젝트 설명

운영 환경과 유사한 테스트 시나리오를 구성해, Job과 Step 단위의 안정성을 검증합니다. 단순 단위 테스트를 넘어, 경계 조건·예외 상황·의도적 실패까지 포함한 실제 운영 수준의 테스트 코드를 작성하며, 예상치 못한 오류나 중단 상황에서도 빠르게 원인을 재현하고 대응할 수 있는 구조를 구현합니다.

| 학습 후 결과
실제 운영 환경과 유사한 배치 테스트를 안정적으로 구성
신뢰성·성능·유지보수성을 갖춘 배치 애플리케이션 구현
Step 단위 테스트로 반복 실행 속도를 개선하고, 빠르게 검증
실패 - 예외 상황 테스트로 운영 리스크 최소화

| 프로젝트 구현 내용

ImageSlide
ImageSlide
ImageSlide
ImageSlide

이 커리큘럼과 프로젝트를
모두 가르쳐 줄 수 있는 ‘진짜 실력자’ 강사님

4. 강사소개

국내 탑 티어 깃허브 스타 7.5k에 빛나는
스프링 배치 실전 김남윤 강사님

김남윤 강사님

스프링 배치의 모든 것을 알려줄
김남윤입니다.




현) 국내 대기업 핀테크 BackEnd Developer
• 정산 파트
전) 스타일쉐어 BackEnd Developer
• 이커머스 상품 및 환불 파트
전) 소다트랜스퍼 BackEnd Developer
• 해외 송금
전) 노마드스타 BackEnd Developer

[강연]
• Kakao Tech 제2회 – Spring Batch 애플리케이션 성능 향상을 위한 주요 팁
• 스프링 캠프 2023 – 실무에서 적용하는 테스트 코드 작성 방법과 노하우

백엔드 개발 9년, 간편결제 정산 대규모 배치를 6년 이상 다뤄온 스프링 배치 실무 최고 전문가

안녕하세요, 김남윤입니다. 지난 8년간 기술 블로그를 꾸준히 운영하며 백엔드 개발을 중심으로 커리어를 쌓아왔습니다. 작은 스타트업부터 직원 수 100명 규모의 중견 스타트업, 그리고 대기업에 이르기까지 다양한 조직에서 근무하며 폭넓은 경험을 쌓았습니다. 최근에는 대용량 데이터 처리 분야에 집중하고 있으며 현재는 가맹점 정산 도메인에서 Spring Batch를 기반으로 한 대량 처리 프로젝트를 수행하고 있습니다.

이 강의에서는 스프링 배치의 단순한 기능 설명을 넘어, 실제 현장에서 제가 겪은 다양한 실패와 성공 사례를 바탕으로 “어떤 관점으로 코드를 설계할 것인가”에 대한 인사이트를 가득 담았습니다. 처음 스프링 배치를 배우는 분들은 이론부터 탄탄히 다져 스프링 배치의 핵심 개념과 주요 구성 요소를 명확히 이해하게 될 것이고, 이미 기본기를 갖춘 분들은 대량 데이터 처리 기법과 실무 적용 관점을 배움으로써, 배치 애플리케이션 설계·구현 시 전문성과 효율성을 한 단계 끌어올릴 수 있습니다. 여러분이 실제 프로젝트에서 자신감 있게 배치 애플리케이션을 설계·구현할 수 있도록 돕겠습니다. 함께 성장해 나가요!

| 스프링 배치하면 떠오르는 김남윤 Yun님의 실전 지식 공유

ImageSlide2K 팔로워, 7.5k Stars의 GitHub(25.05 기준 집계 수)
2K 팔로워, 7.5k Stars의 GitHub(25.05 기준 집계 수)
ImageSlide스프링 배치를 공부한다면 꼭 보았을 기술 블로그 운영
스프링 배치를 공부한다면 꼭 보았을 기술 블로그 운영
ImageSlide한국 스프링 사용자 모임 지식 공유
한국 스프링 사용자 모임 지식 공유
ImageSlide2023년, kakao tech meet<br> [Spring Batch 애플리케이션 성능 향상을 위한 주요 팁]
2023년, kakao tech meet
[Spring Batch 애플리케이션 성능 향상을 위한 주요 팁]
ImageSlide2023년,스프링캠프 [Session 5]<br> [실무에서 적용하는 테스트 코드 작성 방법과 노하우]
2023년,스프링캠프 [Session 5]
[실무에서 적용하는 테스트 코드 작성 방법과 노하우]
ImageSlide2024년, 스프링 배치 스터디 오프라인 모임 강의
2024년, 스프링 배치 스터디 오프라인 모임 강의

실무에서 진짜 인정 받는 실력과 강의력을 모두 갖춘 개발자 김남윤님!
스프링 배치의 찐 실력자 분들의 추천사를 확인하세요.

★★★★★

황지연 / 국내 핀테크 대기업 Software Engineer 10년차

김남윤 개발자님의 강의는 이론과 실습을 유기적으로 연결해
현업에서 바로 적용 가능한 스킬을 길러줍니다.
특히 대용량 처리 성능 튜닝과 부분 재처리 전략은
실제 프로젝트에서 즉시 활용할 수 있는 핵심 역량을 제공합니다.

★★★★★

안성훈 / 국내 핀테크 대기업 Software Engineer 9년차

김남윤 개발자님의 풍부한 실무 경험과 단계별 최적화 노하우가
녹아든 이 강의는 스프링 배치를 처음 접하는 분도
바로 실무에 투입될 수 있도록 명확하고 친절하게 안내합니다.
배치 시스템 설계의 토대부터 장애 복구 전략까지
한 번에 배울 수 있는 최고의 커리큘럼입니다.

5. 헷갈리는 개념 잡기

실무에서 가장 헷갈리는 기술 스택과 환경
언제 어떻게 써야 할지 정확히 알아가기

ImageSlide
ImageSlide
ImageSlide

자주 함께 언급되는 기술 스택들의 개념과 쓰임을 명확히 정리하고, 실습으로 체화!

스케줄러와 배치의 차이와 연계 활용법까지, 효율적인 배치 처리 흐름을 몸에 익힐 수 있습니다.

오직 패스트캠퍼스 수강생을 위한
오픈 커뮤니티 질의응답까지
강사님 답변 기간 : 2025.05.07 ~ 2028.05.06

* 강사님이 현업 중 답변 하시기에 답변까지 영업일 기준 7일 내외 시간이 소요될 수 있습니다.
* 강의와 무관한 질문에 대해서는 답변이 필수로 제공되지 않습니다.
한 번의 구매로 평생 소장!
언제든, 몇 번이든 다시!
한 번 결제로 평생 동안 무제한 반복 학습이 가능합니다.
바쁜 일정에 걱정할 필요 없이, 원하는 때에 학습하고 필요할 때마다 복습하세요.

QUESTION 1

어떤 분들이
수강하시면 좋을까요?
• 대용량 배치 애플리케이션의 성능을 개선하고 싶은 미들급 백엔드 개발자
• 핵심 개념부터 실제 프로젝트까지 구현해보고 싶은 주니어 백엔드 개발자
• 실무에서 배치 시스템을 설계·구현할 때 어떤 관점과 노하우를 적용해야 할지 궁금한 분

QUESTION 2

스프링 배치에서 가장 어려운 부분은 무엇이고,
이 강의에서 어떻게 해결해 주나요?
스프링 배치에서 가장 어려운 부분은 대량 데이터를 안정적으로 처리하고, 예외 상황 발생 시 일관되게 복구할 수 있는 구조를 설계하는 것입니다. 단순히 처리 속도만 높이면 코드가 복잡해지고, 장애 대응이나 성능 개선이 어려워질 수 있습니다.
이 강의에서는 초기 설정부터 단계적으로 성능을 개선해 나가는 로드맵을 제시하고, 성능을 높일 때 생길 수 있는 부작용까지 함께 다룹니다. 또한 장애나 데이터 오류 발생 시 전체를 재실행하지 않고, 필요한 부분만 안전하게 재처리하는 실전 설계 전략을 안내합니다.
이를 통해 수강생들은 단순 기능 구현을 넘어, 실 서비스 환경에서도 신뢰성과 유지보수성을 갖춘 배치 애플리케이션을 설계할 수 있게 됩니다.

QUESTION 3

과정을 수강하면
어떤 방향성을 가질 수 있나요?
본 강의를 통해 수강생들은 세 가지 주요 기술적 성장을 이룰 수 있습니다.

1. 실무 시나리오 기반 코드 설계 역량 강화
단순히 스프링 배치 API나 구조를 배우는 데 그치지 않고,
대용량 처리, 오류 복구, 트랜잭션 설정 등 실제 현장에서 마주치는 다양한 상황에
어떻게 접근하고 설계해야 하는지를 실무 경험을 바탕으로 심층적으로 안내합니다.

2. 단계별 성능 튜닝과 트레이드오프에 대한 깊은 이해
청크 크기 조정, 병렬 처리, I/O 최적화, 캐싱 활용 등 단계별 성능 향상 전략을 실습을 통해 익히며,
성능 개선 과정에서 발생할 수 있는 메모리 사용 증가, 동시성 이슈 같은 부작용까지 함께 짚어
현실적인 성능 최적화 기준을 세울 수 있습니다.

3. 효율적인 실패 복구 및 부분 재처리 설계 능력 확보
배치 작업 중단 시 전체 재실행 없이 중단 지점부터 이어서 처리하거나,
실패한 데이터만 선별 재처리하는 전략을 설계합니다.
네트워크 오류, 시스템 과부하 등 운영 환경에서의 장애 복구 방안도 함께 다룹니다.

이 세 가지 성장 포인트를 통해 수강생들은 단순 배치 작성 수준을 넘어,
서비스 환경에서 요구되는 신뢰성과 성능, 유지보수성을 갖춘 배치 애플리케이션을
직접 설계·구현할 수 있는 실력을 갖추게 됩니다.

QUESTION 4

기술 스택을 알려주세요.
- IDEA IntelliJ Ultimate
- Java 17
- Spring Boot 3.xx, Spring Batch 5.xx, Spring Data JPA 3.xx, Spring Web MVC 6.xx, Spring Test 6.xx, Junit5.xx, Gradle 8.xx
- MySQL 8.x, H2, Docker
- Lombok


*모든 기술 스택은 강의 진행 시 설치 및 활용이 진행됩니다.