diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..fda7263 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,29 @@ +```mermaid +sequenceDiagram + participant User + participant Controller + participant Service + participant Repository + participant Database + + User->>Controller: 결제 요청 + Controller->>Service: 결제 처리 요청 + Service->>Repository: 데이터 저장 요청 + Repository->>Database: DB 저장 요청 + Database-->>Repository: 저장 완료 + Repository-->>Service: 저장 완료 + Service-->>Controller: 처리 완료 + Controller-->>User: 결제 완료 + + alt 외부 실패 + Service-->>Controller: 실패 응답 + Controller-->>User: 결제 실패 + end + + alt DB 실패 + Repository-->>Service: DB 오류 + Service-->>Controller: 처리 실패 + Controller-->>User: 결제 실패 + end + + Note over Service, Repository: Commit/rollback 경계 설정 \ No newline at end of file