diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..968a9fb --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,31 @@ +--- +# Transaction Sequence + +## Sequence Diagram + +```mermaid +sequenceDiagram + participant User + participant PaymentGateway + participant Database + + User->>PaymentGateway: 결제 요청 + alt 정상 흐름 + PaymentGateway-->>User: 결제 승인 + User->>Database: 트랜잭션 저장 + Database-->>User: 저장 완료 + Note right of User: 커밋 + else 외부 실패 + PaymentGateway-->>User: 결제 실패 + Note right of User: 롤백 + else DB 실패 + User->>Database: 트랜잭션 저장 실패 + Note right of User: 롤백 + end +``` + +## Commit and Rollback +- 정상 흐름에서 트랜잭션이 성공적으로 저장되면 커밋이 발생합니다. +- 외부 실패 또는 DB 실패 시 롤백이 발생합니다. + +--- \ No newline at end of file