필터 1
프로모션 배치 k8s 이관기
SSG.COM
데브옵스

프로모션 배치 k8s 이관기

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#Spring Batch#transaction
5600
[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기
데보션
백엔드

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

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

#Spring Batch#JPA
2600
[SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기
데보션
백엔드

[SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기

JdbcPagingItemReader로 DB 데이터를 페이지 단위로 읽고 파일로 저장하는 방법을 다루었습니다. JdbcBatchItemWriter로 파일 데이터를 DB에 빠르게 적재하는 구성도 함께 설명했습니다.

#Spring Batch#JDBC
2000
[SpringBatch 연재 04] FlatFileItemReader로 단순 파일 읽고, FlatFileItemWriter로 파일에 쓰기
데보션
백엔드

[SpringBatch 연재 04] FlatFileItemReader로 단순 파일 읽고, FlatFileItemWriter로 파일에 쓰기

Spring Batch의 `FlatFileItemReader`와 `FlatFileItemWriter`로 CSV를 읽고 탭 구분 파일로 저장하는 방법을 다뤘습니다. 또한 헤더·푸터와 집계를 붙여 파일 출력 형식을 제어하는 예시를 소개했습니다.

#Spring Batch#FlatFileItemReader
2700
[SpringBatch 연재 03] SpringBatch ChunkModel과 TaskletModel
데보션
백엔드

[SpringBatch 연재 03] SpringBatch ChunkModel과 TaskletModel

Spring Batch의 Chunk Model과 Tasklet Model 차이를 정리했습니다. 데이터 규모와 처리 방식에 따라 적절한 모델을 선택하는 기준을 설명했습니다.

#Spring Batch#chunk
3500