결제 이벤트를 Kafka로 옮기며 지킨 세 가지 불변식
결제 승인과 이벤트 발행 사이의 원자성, 중복 소비, 파티션 순서를 운영 가능한 규칙으로 바꾼 과정을 정리합니다.
WRITING
구현 방법뿐 아니라 왜 그 방법을 선택했고, 운영에서 무엇이 달랐는지 씁니다.
결제 승인과 이벤트 발행 사이의 원자성, 중복 소비, 파티션 순서를 운영 가능한 규칙으로 바꾼 과정을 정리합니다.
락 만료와 긴 GC 정지 뒤에 발생한 중복 처리를 추적하고, fencing token과 데이터베이스 제약으로 정확성의 경계를 다시 세운 기록입니다.
메트릭·로그·트레이스를 하나의 요청 맥락으로 연결하고, 결제 API의 SLO에서 출발해 실제 장애 대응 시간을 줄인 방법을 소개합니다.