알림을 한 번만, 그러나 잃지 않게 – 고객등급제 알림톡 발송을 outbox / inbox 로 다시 짠 기록 배치가 비즈뿌리오에 직접 보내고 나서 내역을 남기던 고객등급제 알림을, 배치는 outbox 테이블에 적기만 하고 중계 잡이 RabbitMQ 로 넘기고 워커가 inbox(message_id 선점)로 한 번만 보내는 구조로 바꿨다. 구간마다 at-least-once 와 at-most-once 를 다르게 고른 이유와 장애 지점별 동작을 정리했다.
Jul 19, 2026 · 16분 읽기
문자 속 120자짜리 링크를 7자 코드로 – 자체 단축 URL 을 백엔드·웹·어드민에 걸쳐 만든 기록 외부 단축 URL 서비스가 종료된 뒤 대체 문자(LMS)에 긴 원본 주소와 카카오용 UTM 이 그대로 실리던 문제를 정리했다. 워커가 문자를 만들 때 7자 코드로 줄이고, 웹이 302 로 풀고, 어드민에서 카카오 UTM 과 문자 UTM 을 나눠 저장하도록 바꿨다.
May 6, 2026 · 13분 읽기
pg의 멀티테넌시(스키마) 환경에서 스프링 배치를 어떻게 사용해야 할까? 회사에서 신규 서비스를 개발하고 있는데, API개발과 배치서버 개발 업무를 맡게 되었다. 배치 서버에서는 여러 개의 스키마로 구성된 DB의 한 테이블에서 날짜를 받아 만료처리하는 배치 스케줄러와, 특정 데이터들을
Dec 14, 2023 · 5분 읽기
Spring Batch 5 - 1. 시작하기 회사에서 신규 프로젝트를 하는데, 배치 서버를 구축하는 업무를 내가 맡게 되었다. 포스팅은 배치 서버를 구축하는 방법, Job을 생성하고 Tasklet 기반 Step과 Chunk 기반 Step에 대해서 다루어 볼 것
Oct 20, 2023 · 3분 읽기