알림을 한 번만, 그러나 잃지 않게 – 고객등급제 알림톡 발송을 outbox / inbox 로 다시 짠 기록배치가 비즈뿌리오에 직접 보내고 나서 내역을 남기던 고객등급제 알림을, 배치는 outbox 테이블에 적기만 하고 중계 잡이 RabbitMQ 로 넘기고 워커가 inbox(message_id 선점)로 한 번만 보내는 구조로 바꿨다. 구간마다 at-least-once 와 at-most-once 를 다르게 고른 이유와 장애 지점별 동작을 정리했다.#Outbox 패턴#멱등성#RabbitMQ#PostgreSQL#Kotlin#알림톡#분산 시스템Jul 19, 2026 · 16분 읽기
문자 속 120자짜리 링크를 7자 코드로 – 자체 단축 URL 을 백엔드·웹·어드민에 걸쳐 만든 기록외부 단축 URL 서비스가 종료된 뒤 대체 문자(LMS)에 긴 원본 주소와 카카오용 UTM 이 그대로 실리던 문제를 정리했다. 워커가 문자를 만들 때 7자 코드로 줄이고, 웹이 302 로 풀고, 어드민에서 카카오 UTM 과 문자 UTM 을 나눠 저장하도록 바꿨다.#단축 URL#Kotlin#Next.js#PostgreSQL#UTM#알림톡#문자May 6, 2026 · 13분 읽기
알림톡 발송마다 TLS 를 다시 맺던 문제 – 연결 1,050개를 1개로 줄이기까지알림톡을 보낼 때마다 HTTP 클라이언트를 새로 만들어 TCP·TLS 를 다시 맺던 연동을 클라이언트 공유와 Ktor CIO → JDK HttpClient 엔진 교체로 고쳤다. 원인을 확인한 과정, TLS 를 넣은 부하 재현, 운영 배포 전후 지연 시간을 정리했다.#Kotlin#Ktor#HTTP#keep-alive#TLS#성능 개선#알림톡Mar 3, 2026 · 11분 읽기