필터 1
Kotlin Coroutine으로 구현한 비동기 제휴 연동 시스템 구축기
SSG.COM
백엔드

Kotlin Coroutine으로 구현한 비동기 제휴 연동 시스템 구축기

Spring Batch 기반 동기 연동의 병목을 Kotlin Coroutine으로 개선한 사례를 소개했습니다. Kafka와 비동기 호출을 결합해 처리 시간과 리소스 효율을 함께 높였습니다.

#Kotlin#Coroutine
244005분
구관이 꼭 명관은 아니다: 정산 시스템의 세대교체
무신사
백엔드

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

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

#Django#Python
246005분
프로모션 배치 k8s 이관기
SSG.COM
데브옵스

프로모션 배치 k8s 이관기

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

#Kubernetes#Spring Boot
70005분
제휴 서비스 수집 시스템, 첫 설계부터 지금까지의 여정
SSG.COM
백엔드

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

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

#Kafka#CQRS
267005분
[SpringBatch 연재 11] Job 및 Step 마다 시작/종료시 특정 작업 수행하기
데보션
백엔드

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

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

#Spring Boot#Spring Batch
20005분
포스타입 정산 시스템 이관기 2
포스타입
백엔드

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

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

#Spring Batch#WebClient
18005분
[SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기
데보션
백엔드

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

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

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

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

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

#Spring Batch#Querydsl
35005분
[SpringBatch 연재 08] CompositeItemProcessor 으로 여러단계에 걸쳐 데이터 Transform하기
데보션
백엔드

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

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

#Spring Batch#Java
16005분
[SpringBatch 연재 07] MyBatisPagingItemReader로 DB내용을 읽고, MyBatisItemWriter로 DB에 쓰기
데보션
백엔드

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

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

#Spring Batch#MyBatis
31005분
그날, 우리의 배치는 왜 멈추었을까?
올리브영
백엔드

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

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

#Spring Batch#transaction
56005분