필터 1
무신사
백엔드

의심했던 범인은 알리바이가 있었다.

Jenkins 배치의 5분~12분 Hang 원인을 JFR로 추적해, 의심했던 로그 appender가 아니라 N+1 쿼리와 Aurora 읽기 지연이 범인임을 밝혀냈습니다. 운영 코드 변경 없이 JVM 옵션 한 줄로 진단하고 쿼리 통합으로 문제를 해결했습니다.

#Spring Batch#Jenkins
94005분
올리브영
백엔드

옴니채널 재고 정합성 한계에 대응하는 인벤토리 데이터 파이프라인 구축기

옴니채널 재고 정합성과 확장성 문제를 해결하기 위해 인벤토리 데이터 파이프라인을 이벤트 기반으로 재설계했습니다. Spring Batch, Kafka Fan-Out, Push/Pull 분리로 리드타임과 부하를 줄였습니다.

#Kafka#Spring Batch
143005분
SSG.COM
백엔드

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

장보기 지원금 소멸 알림 배치에서 메시지 발송 대기 중 DB 커넥션을 오래 점유해 타임아웃이 발생했습니다. 이를 위해 리소스 사용 구간과 발송 대기 구간을 분리해 배치 안정성을 높였습니다.

#Spring Batch#DB
232005분
네이버 페이
백엔드

Composite PK에서 시작된 Spring Boot 4 / Spring Batch 6 업그레이드 기록

Spring Data JDBC의 Composite ID 적용을 계기로 Spring Boot 4와 Spring Batch 6 업그레이드를 진행했습니다. 복합키 매핑, 배치 메타데이터 변경, Kotlin·Jackson·Gradle 호환성까지 함께 정리했습니다.

#Spring Boot#Spring Batch
154005분
수억 건의 데이터, 맛있게 쪼개 먹는 방법 (with. Partitioning)
카카오페이
백엔드

수억 건의 데이터, 맛있게 쪼개 먹는 방법 (with. Partitioning)

Spring Batch Partitioning, Cursor Reader, Bulk Operations로 수억 건 데이터 처리의 OOM 문제를 해결했습니다. 병렬 분할과 스트리밍 읽기, 일괄 쓰기 최적화로 성능과 안정성을 함께 높였습니다.

#Spring Batch#partitioning
219005분
오프라인 매장에 코드를 배포하다 Part 2: 올리브영 전자라벨(ESL) 최적화 여정
올리브영
백엔드

오프라인 매장에 코드를 배포하다 Part 2: 올리브영 전자라벨(ESL) 최적화 여정

전국 1,300개 매장 전자라벨 배치를 위해 Partitioning으로 락 경합을 제거하고 처리 시간을 크게 줄였습니다. 또한 Aurora Serverless v2로 트래픽에 맞게 자동 확장해 성능과 비용을 함께 개선했습니다.

#Spring Batch#partitioning
112005분
무신사
백엔드

“스케줄이 또 안 돌았어요” — 우리가 Temporal을 선택한 이유

Jenkins 기반 스케줄 운영의 한계를 해결하기 위해 Temporal을 도입했습니다. 자동 재시도와 실행 이력 가시성으로 출고지시와 주문수집을 더 안정적으로 자동화했습니다.

#Temporal#Jenkins
161005분
무신사
백엔드

“이번 달도 밤샘 정산입니다.” — 정산 시스템은 어떻게 만들었을까 (실전편)

정산 도메인의 특성에 맞춰 이벤트 처리와 배치 처리를 분리한 하이브리드 구조를 설명했습니다. Kafka, Spring Batch, Argo Workflow로 실패와 재처리를 전제로 한 정산 시스템을 구현했습니다.

#Kotlin#Spring Boot
202005분
무신사
아키텍처

“이번 달도 밤샘 정산입니다.” — 정산 시스템은 왜 필요했을까 (설계편)

정산을 사람의 기억이 아닌 시스템의 책임으로 옮기기 위한 MASS 설계 원칙을 다뤘습니다. 멱등성, 결정적 계산, 고정 반올림으로 재처리와 재계산에도 동일한 결과를 보장했습니다.

#Kafka#Spring Batch
133005분
레거시 정산 개편기: 신규 시스템 투입 여정부터 대규모 배치 운영 노하우까지
토스
백엔드

레거시 정산 개편기: 신규 시스템 투입 여정부터 대규모 배치 운영 노하우까지

20년 레거시 정산 시스템을 분할정복과 데이터 모델 개선으로 개편했습니다. 대규모 배치는 테스트 자동화, 카나리 투입, Jenkins 기반 운영으로 안정성과 성능을 함께 높였습니다.

#Spring Batch#Jenkins
148005분
500만 데이터 엑셀 출력을 4GB 메모리에서 하는방법
삼쩜삼
백엔드

500만 데이터 엑셀 출력을 4GB 메모리에서 하는방법

정산시스템의 대용량 엑셀 출력에서 OOM과 재시도 폭주를 해결한 사례를 다뤘습니다. 날짜 단위 병렬 처리와 DB Cursor, S3 업로드로 메모리 부담 없이 비동기 다운로드 구조를 만들었습니다.

#Spring Batch#JPA
172005분
Airflow 와 Databricks 로 완성한 디자인허브 정산 시스템 리팩토링 여정
미리디
데브옵스

Airflow 와 Databricks 로 완성한 디자인허브 정산 시스템 리팩토링 여정

Airflow와 Databricks로 디자인허브 정산 파이프라인을 리팩토링한 과정을 정리했습니다. 운영 DB 부하를 줄이고 멱등성, 가시성, 협업 체계를 함께 개선했습니다.

#Airflow#Databricks
24005분