잃어버린 리포트를 찾아서: 카카오 메시징 시스템의 경쟁 조건 문제와 안티 패턴 제거 과정
MSA카카오메시징 시스템경쟁 조건안티 패턴DB리포트
AI 요약
Beta카카오의 사내 SMS 전송 시스템인 KIMS(Kakao Integrated Messaging Service)에서 발생한 경쟁 조건 문제와 이를 해결한 과정을 다룹니다. KIMS는 MSA 기반으로 다수의 외부 SMS 벤더사와 연동하여 하루 약 100만 건의 메시지를 처리합니다.
메시지 전송 요청이 들어오면 API 서버에서 벤더사로 라우팅하고, SENT 상태로 DB에 기록한 뒤, 벤더사로부터 전송 결과 리포트를 받아 REPORTED 상태로 DB를 업데이트하는 비동기적인 흐름으로 동작합니다. 하지만 어느 날 일부 메시지의 상태가 REPORTED로 갱신되지 않고 SENT 상태에 머무르는 문제가 발생했습니다.
벤더사로부터 리포트는 정상 수신되었으나 DB 반영이 누락되는 현상으로, 이는 여러 컴포넌트가 비동기적으로 동작하는 과정에서 발생하는 경쟁 조건 문제와 특정 안티 패턴이 원인이었습니다. 이 글에서는 해당 문제의 원인을 분석하고 제거하는 과정을 상세히 설명합니다.
이 글이 궁금하신가요?
원문 블로그에서 전체 내용을 확인해 보세요
원문 읽으러 가기
