diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..ef94891 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,25 @@ +```mermaid +sequenceDiagram + participant User + participant PaymentService + participant DomainModel + participant Repository + + User->>PaymentService: 결제 요청 + PaymentService->>DomainModel: 결제 처리 + DomainModel->>Repository: 데이터 저장 + Repository-->>DomainModel: 저장 성공 + DomainModel-->>PaymentService: 처리 완료 + PaymentService-->>User: 결제 성공 + + alt 외부 실패 + PaymentService-->>User: 결제 실패 + end + + alt DB 실패 + DomainModel->>Repository: 데이터 저장 실패 + Repository-->>DomainModel: 저장 실패 + DomainModel-->>PaymentService: 롤백 + PaymentService-->>User: 결제 실패 + end +``` \ No newline at end of file