#PostgreSQL

알림을 한 번만, 그러나 잃지 않게 – 고객등급제 알림톡 발송을 outbox / inbox 로 다시 짠 기록

배치가 비즈뿌리오에 직접 보내고 나서 내역을 남기던 고객등급제 알림을, 배치는 outbox 테이블에 적기만 하고 중계 잡이 RabbitMQ 로 넘기고 워커가 inbox(message_id 선점)로 한 번만 보내는 구조로 바꿨다. 구간마다 at-least-once 와 at-most-once 를 다르게 고른 이유와 장애 지점별 동작을 정리했다.

· 16분 읽기

문자 속 120자짜리 링크를 7자 코드로 – 자체 단축 URL 을 백엔드·웹·어드민에 걸쳐 만든 기록

외부 단축 URL 서비스가 종료된 뒤 대체 문자(LMS)에 긴 원본 주소와 카카오용 UTM 이 그대로 실리던 문제를 정리했다. 워커가 문자를 만들 때 7자 코드로 줄이고, 웹이 302 로 풀고, 어드민에서 카카오 UTM 과 문자 UTM 을 나눠 저장하도록 바꿨다.

· 13분 읽기

pg의 멀티테넌시(스키마) 환경에서 스프링 배치를 어떻게 사용해야 할까?

회사에서 신규 서비스를 개발하고 있는데, API개발과 배치서버 개발 업무를 맡게 되었다. 배치 서버에서는 여러 개의 스키마로 구성된 DB의 한 테이블에서 날짜를 받아 만료처리하는 배치 스케줄러와, 특정 데이터들을

· 5분 읽기