아웃박스 패턴

목표분산 시스템으로 구성 되어있는 각 서비스에 이벤트를 발행하고각 서비스의 데이터의 일관성을 보장한다. 구성도- 주문 서비스 주문을 생성하고 결제가 완료되면 주문 생성 이벤트를 발행한다.- 재고 서비스 주문 완료된 상품들의 재고를 차감 한다- 배송 서비스 주문 완료된 상품들을 배송 시킨다고려사항주문이 생성되면 반드시 재고를 지우고 배송을 처리 해야 한다.그런데카프카에 이벤트 발행이 불가능 하다면 ?결제 API에서 실패 한다면 ?주문 생성이 실패 한다면 ?위 사항들로 인해 주문은 생성되지 않을 수 있다.또, 모든 사항에 주문을 실패하게 해서 처음부터 주문을 다시 하게 만든다면 그것은 서비스에 대한 신뢰하락으로 이어질 것이다.Transcation OutBox Pattern 개념분산시스템의 데이터 정합성을 ..
이벤트 발행을 보장하는 방법Event Driven Architecture 에서의 이벤트 발행을 보장하는 방법은 여러가지 있다.MSA로 설계된 분산시스템 에서는 데이터의 일관성을 유지 하는것은 매우 중요하다.아웃박스 패턴은 서비스 간의 데이터를 최소 한번 이상 전달하여두 서비스 간의 데이터의 정합성을 목표로 한다.멱등성최소 한번 이상 전달 하더라도 데이터가 동일 해야 한다. 위 말을 들으면 멱등성 이라는 것이 떠오를 것이다.그러므로 데이터가 중복 처리 되더라도 같은 결과를 얻을 수 있게멱등성을 고려하는 것이 중요하다.  목표 - 데이터의 일관성 메시지 손실 방지: 아웃박스 패턴은 로컬 트랜잭션을 통해 작업의 원자성을 보장하고                이벤트를 데이터 베이스에 저장하여, 전송 과정에서 발생..
imSoo
'아웃박스 패턴' 태그의 글 목록