[성능 패턴] 트랜잭셔널 아웃박스(Transactional Outbox) 패턴

문제 상황

사용자 서비스는 사용자를 데이터베이스에 추가하고 메시지 브로커에 이벤트를 전송한다. 그 이후 다른 서비스에서 해당 이벤트를 받아 후속 작업을 진행한다.

문제 상황 코드 예제

트랜잭셔널 아웃박스 패턴

트랜잭셔널 아웃박스에서는 메시지 브로커로 이벤트를 전달하는 대신 outbox라는 테이블을 이용하여 트랜잭션을 보장할 수 있게 한다.

트랜잭셔널 아웃박스 패턴 Solution

  • 트랜잭셔널 아웃박스
    • 데이터/메시지 유실 문제를 해결한다.
    • 각 데이터베이스는 적절한 이벤트 발생을 보장한다.

참고

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유