“이번 달도 밤샘 정산입니다.” — 정산 시스템은 어떻게 만들었을까 (실전편)
정산 도메인의 특성에 맞춰 이벤트 처리와 배치 처리를 분리한 하이브리드 구조를 설명했습니다. Kafka, Spring Batch, Argo Workflow로 실패와 재처리를 전제로 한 정산 시스템을 구현했습니다.
정산 도메인의 특성에 맞춰 이벤트 처리와 배치 처리를 분리한 하이브리드 구조를 설명했습니다. Kafka, Spring Batch, Argo Workflow로 실패와 재처리를 전제로 한 정산 시스템을 구현했습니다.
이 글은 CRUD 중심 서버 설계의 한계를 보완하기 위해 이벤트 소싱과 Ventyd를 소개했습니다. 배포 추적과 게임 상태 관리 사례로 TypeScript 기반 도메인 로직 공유 방식을 설명했습니다.


DynamoDB 조회에서 Limit 미설정과 Strong Consistent Read가 RCU 급증의 원인이었습니다. SearchLimit 적용과 일관성 수준 조정으로 RCU를 최대 97% 절감했습니다.

DynamoDB+S3 이중 저장을 Iceberg 단일 테이블로 통합해 비용을 약 91.5% 절감했습니다. 조회 성능과 서빙 안정성도 함께 개선하고, 컴팩션과 조회의 균형 중요성을 정리했습니다.

16억 건 규모의 User 테이블에서 Badge 업데이트가 쓰로틀링을 유발한 원인을 분석했습니다. Badge를 별도 테이블로 분리하고, Export/Import와 Glue로 안전한 마이그레이션 전략을 설계했습니다.

Badge 업데이트가 User 테이블 전체를 느리게 만든 원인을 분석하고, 별도 테이블 분리 전략을 설명했습니다. 16억 건 규모를 안전하게 옮기기 위해 Export/Import와 Glue 기반 마이그레이션을 설계했습니다.

스마트스토어센터가 Oracle에서 MySQL로 무중단 전환한 방법을 이중 쓰기 중심으로 설명했습니다. JPA와 MyBatis에서의 트랜잭션 처리, PK와 컬럼 타입 조정까지 다뤘습니다.


Amazon OpenSearch Service에서 UBI와 OSI를 활용해 검색 행동 데이터를 수집하고 분석하는 방법을 소개했습니다. CDK 배포부터 대시보드 모니터링, 검색 품질 개선 활용처까지 실습 흐름으로 설명했습니다.


Node.js 컨테이너가 종료 시그널을 받아도 바로 안 죽는 원인을 PID 1과 이벤트 루프로 분석했습니다. dumb-init과 shutdown 훅, K8s 종료 설정을 함께 조정해 graceful shutdown을 맞췄습니다.
정산파일 자동화 과정에서 파일 기반 예외 업무를 내부 DB 구조로 옮기고, 규칙과 검증 로직을 재설계했습니다. 파트너별 기준은 YAML 설정으로 분리해 유지보수성과 추적 가능성을 높였습니다.

뱅크샐러드는 게임형 앱테크 서비스의 데이터 정합성을 위해 낙관적 락을 적용했습니다. 버전 필드와 상태 분리, 시간 차분 정산으로 재시도 없이도 안정성을 확보했습니다.


외부 채널 입고 정보를 안전하게 동기화하기 위해 아웃박스 패턴과 재시도 토픽을 적용한 사례를 소개했습니다. Spring Kafka와 Namastack Outbox로 원자성, 재시도, 실패 알림을 정리했습니다.