필터 1
구관이 꼭 명관은 아니다: 정산 시스템의 세대교체
무신사
· 2025년 6월 8일
백엔드

구관이 꼭 명관은 아니다: 정산 시스템의 세대교체

레거시 정산 시스템의 성능 한계와 복잡도를 해결하기 위해 Spring Boot와 Spring Batch로 전면 재설계했습니다. 정산 기준별 Step 분리와 일간 집계 추가로 확장성과 운영 안정성을 높였습니다.

#Django#Python
244005분
프로모션 배치 k8s 이관기
SSG.COM
· 2025년 5월 29일
데브옵스

프로모션 배치 k8s 이관기

프로모션 배치를 Kubernetes로 이관한 과정과 운영 경험을 정리했습니다. Quartz 클러스터링, 관리 도구 보완, 종료·리소스 대응까지 다뤘습니다.

#Kubernetes#Spring Boot
68005분
제휴 서비스 수집 시스템, 첫 설계부터 지금까지의 여정
SSG.COM
· 2025년 3월 14일
백엔드

제휴 서비스 수집 시스템, 첫 설계부터 지금까지의 여정

제휴 서비스 수집 시스템의 레거시 한계를 개선해 이벤트 기반, CQRS, Zero Payload 구조로 재설계했습니다.실시간 연동과 부하 분산을 통해 속도, 정합성, 운영 효율을 높인 과정을 공유했습니다.

#Kafka#CQRS
260005분
[SpringBatch 연재 11] Job 및 Step 마다 시작/종료시 특정 작업 수행하기
데보션
· 2024년 12월 26일
백엔드

[SpringBatch 연재 11] Job 및 Step 마다 시작/종료시 특정 작업 수행하기

Spring Batch에서 Job과 Step의 시작/종료 시점에 실행할 작업을 Listener로 연결하는 방법을 설명했습니다. JobExecutionListener와 StepExecutionListener 등록 예시와 실행 로그 흐름을 함께 보여주었습니다.

#Spring Boot#Spring Batch
16005분
포스타입 정산 시스템 이관기 2
포스타입
· 2024년 12월 20일
백엔드

포스타입 정산 시스템 이관기 2

정산 시스템을 PHP에서 Java 기반 Job Runner로 이관한 과정과 테크 스펙, 테스트, 마이그레이션 전략을 설명했습니다. 또한 URI 인코딩, Reader 페이징, timeout 등 트러블 슈팅 사례와 개선 효과를 정리했습니다.

#Spring Batch#WebClient
17005분
[SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기
데보션
· 2024년 11월 29일
백엔드

[SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기

Spring Batch의 Flow Controller로 Step 실행 순서와 분기 방법을 설명했습니다. next, on, from, stop을 이용해 조건별 배치 흐름을 구성하는 방법을 정리했습니다.

#Spring Batch#Java
16005분
[SpringBatch 연재 09] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기
데보션
· 2024년 11월 25일
백엔드

[SpringBatch 연재 09] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기

Spring Batch의 기본 Reader/Writer로 부족한 경우를 대비해 커스텀 구현 방법을 다뤘습니다. Querydsl 기반 페이징 Reader와 외부 서비스 호출 Writer를 통해 배치 유연성을 높였습니다.

#Spring Batch#Querydsl
33005분
[SpringBatch 연재 08] CompositeItemProcessor 으로 여러단계에 걸쳐 데이터 Transform하기
데보션
· 2024년 11월 19일
백엔드

[SpringBatch 연재 08] CompositeItemProcessor 으로 여러단계에 걸쳐 데이터 Transform하기

Spring Batch의 CompositeItemProcessor로 여러 ItemProcessor를 순차 결합하는 방법을 소개했습니다. 이름·성별 변환과 나이 증가를 분리해 단계별 처리와 재사용성을 높였습니다.

#Spring Batch#Java
15005분
[SpringBatch 연재 07] MyBatisPagingItemReader로 DB내용을 읽고, MyBatisItemWriter로 DB에 쓰기
데보션
· 2024년 11월 14일
백엔드

[SpringBatch 연재 07] MyBatisPagingItemReader로 DB내용을 읽고, MyBatisItemWriter로 DB에 쓰기

Spring Batch에서 MyBatisPagingItemReader와 MyBatisBatchItemWriter를 사용하는 방법을 정리했습니다. XML 매퍼 분리와 청크 단위 페이징 처리로 DB 읽기와 쓰기를 구성했습니다.

#Spring Batch#MyBatis
28005분
그날, 우리의 배치는 왜 멈추었을까?
올리브영
· 2024년 11월 6일
백엔드

그날, 우리의 배치는 왜 멈추었을까?

Spring Batch 배치가 멈춘 원인을 트랜잭션 분리 실패와 스레드 풀 정책에서 찾았습니다. `CallerRunsPolicy`와 `@Transactional` 누락이 겹치며 경합이 발생했고, 설정 개선이 필요했습니다.

#Spring Batch#transaction
53005분
[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기
데보션
· 2024년 11월 4일
백엔드

[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기

Spring Batch에서 `JpaPagingItemReader`로 JPA 엔티티를 페이지 단위로 읽고 `JpaItemWriter`로 DB에 저장하는 방법을 소개했습니다. 또한 페이지 기반 처리의 누락 가능성과 JPA writer 설정상의 주의점도 함께 설명했습니다.

#Spring Batch#JPA
25005분