성능 개선을 위한 병렬 처리 도입외부 스포츠 API를 통해 향후 31일간의 경기 데이터를 매일 동기화하는 배치를 운영하고 있었다. 매일 새벽 4시와 오후 4시에 Job이 실행되고, 날짜별로 API를 호출해서 경기·리그·팀 데이터를 DB에 저장하는 구조다. 처음에는 단일 스레드로 31일치를 순차 호출했다. 느리긴 했지만 문제는 없었다. 트랜잭션도 깔끔하게 열리고 닫혔고, 데이터 정합성 이슈가 생긴 적도 없었다. 그런데 동기화 대상 리그와 경기 수가 늘어나면서, 31개 날짜를 순차 호출하는 것만으로 API 응답 대기 시간이 누적돼 전체 배치 수행 시간이 길어지기 시작했다. 자연스럽게 병렬 처리를 검토하게 됐고, Spring Batch를 도입했다. 단순히 빠르게 하려는 것만이 아니라, JobRepositor..