Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

병렬 배치 마이그레이션기: Spring Batch 6, 동시성의 단위가 청크에서 아이템으로 바뀌었다

반려생활 favicon반려생활·Backend·
Spring BootJavaGradleSpring BatchJPA
2026년 08월 10일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

반려생활이 Spring Batch 6 도입으로 동시성의 단위가 청크에서 아이템으로 바뀐 문제를 분석하고, JPA 기반 배치를 재설계해 LazyInitializationException를 해결한 경험을 공유합니다.

구현 방법

  • Spring Batch 6의 ChunkOrientedStep 도입으로 아이템 단위 비동기로 처리
  • Processor에서 엔티티를 제거하고 JSON 파싱/이미지 업로드만 워커 스레드에서 수행하는 Command 패턴 적용
  • Writer에서 메인 스레드로 엔티티를 재로딩해 세션 유지 문제를 방지하고 도메인 메서드 재사용성 확보

주요 결과

  • 이미지 동기화 스텝에서 약 1.8배 처리 속도 향상
  • 비-I/O 중심 스텝은 단일 스레드 도입으로 속도 감소; 전체 시간은 이미지 비중이 커 개선 효과 큼
  • JPA vs JDBC 선택에 따른 설계 교훈 도출

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
새벽에 시작한 배치가 퇴근할 때 끝난다면? — 10시간짜리 숙소 연동 배치 20분 만에 끝낸 이야기(Spring Batch) 섬네일
86%

새벽에 시작한 배치가 퇴근할 때 끝난다면? — 10시간짜리 숙소 연동 배치 20분 만에 끝낸 이야기(Spring Batch)

반려생활 favicon반려생활·2025년 08월 28일
No Image
77%

테스트 환경 성능 개선기 (feat. ApplicationContext Caching & Spring Batch)

월급쟁이부자들 favicon월급쟁이부자들·2025년 08월 06일
“장보기 지원금이 곧 소멸돼요” 알림 뒤에서 일어난 일 섬네일
75%

“장보기 지원금이 곧 소멸돼요” 알림 뒤에서 일어난 일

SSG.COM faviconSSG.COM·2026년 05월 26일