From 47c09a3441f0f44e8d440bc4926d34d071f0cdeb Mon Sep 17 00:00:00 2001 From: forge-bot Date: Sun, 12 Jul 2026 05:18:35 +0000 Subject: [PATCH] =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EC=A0=84=ED=99=98=20?= =?UTF-8?q?=EB=AA=A9=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98=20(SPRING-ARC-REF-FINAL-1783833422)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/architecture/transaction-sequence.md | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docs/architecture/transaction-sequence.md diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md new file mode 100644 index 0000000..d4f19d7 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,46 @@ +```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: 결제 완료 + + %% 외부 실패 흐름 + User->>Controller: 결제 요청 + Controller->>Service: 결제 처리 요청 + Service->>Repository: 결제 정보 저장 + Repository->>Database: DB에 저장 + Database-->>Repository: 저장 실패 + Repository-->>Service: 저장 실패 + Service-->>Controller: 처리 실패 + Controller-->>User: 결제 실패 + + %% DB 실패 흐름 + User->>Controller: 결제 요청 + Controller->>Service: 결제 처리 요청 + Service->>Repository: 결제 정보 저장 + Repository->>Database: DB에 저장 + Database-->>Repository: DB 오류 + Repository-->>Service: DB 오류 + Service-->>Controller: 처리 실패 + Controller-->>User: 결제 실패 + + %% Commit/Rollback 경계 + alt 정상 흐름 + Service->>Database: Commit + else 외부 실패 + Service->>Database: Rollback + else DB 실패 + Service->>Database: Rollback + end +``` \ No newline at end of file