목록 보기
결재 연동 이벤트 핸들러 구축
아키텍처

결재 연동 이벤트 핸들러 구축

넥스트리
넥스트리
2026년 9월 11일

두줄요약

외부 전자결재와 근태/휴가 서비스를 MSA 환경에서 비동기 이벤트로 연동한 사례입니다. approvalId 매핑과 멱등성 가드, DB 제약 조건 정합성으로 장애 격리와 최종 일관성을 확보했습니다.

문제 상황

  • MSA 환경에서 근태/휴가 서비스와 외부 전자결재 서비스 연동 필요
  • 동기식 호출 시 결재 서버 지연·장애가 내부 트랜잭션으로 전파되는 문제
  • 승인, 반려, 회수 시점이 비동기라 최종 일관성 보장 필요

원인 분석

  • 내부 결재 상태만 기준으로 설계된 상태 머신과 외부 결재 라이프사이클 불일치
  • approvalId 매핑 부재 시 비동기 상태 이벤트의 대상 도메인 추적 곤란
  • 중복 이벤트 유입 대비 멱등성 가드와 상태 전이 검증 필요

해결 방법

  • ApprovalStatusHandler로 외부 결재 이벤트를 수신해 도메인 Task로 라우팅
  • LeavePlan에 approvalId를 저장해 비동기 상태 변경의 참조 키로 활용
  • 승인 완료 처리에 멱등성 가드 적용, Flyway로 CHECK 제약 조건 동기화

다음 읽기

#MSA 주제를 이어서 읽기

결재 연동 이벤트 핸들러 구축

MSA 환경에서 외부 전자결재 서비스와 근태·휴가 도메인을 비동기 이벤트로 연동한 사례를 정리했습니다. 멱등 처리와 DB 제약 조건 수정으로 장애 격리와 최종 일관성을 확보했습니다.

넥스트리
넥스트리
아키텍처

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...