From f58dedfd411df9778a20860342b064471aa68168 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Sun, 12 Jul 2026 03:47:13 +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-SPLIT-1783827796)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/architecture/transaction-sequence.md | 39 +++++++++++++++++++++++ 1 file changed, 39 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..683c128 --- /dev/null +++ b/docs/architecture/transaction-sequence.md @@ -0,0 +1,39 @@ +```mermaid +sequenceDiagram + participant Controller + participant Service + participant Repository + participant Domain + participant Integration + + Controller->>Service: processPayment() + Service->>Repository: savePayment() + Repository-->>Service: paymentSaved + Service-->>Controller: paymentProcessed + + alt External API call + Service->>Integration: sendPaymentRequest() + Integration-->>Service: paymentResponse + end + + opt Within DB transaction + Service->>Repository: beginTransaction() + Repository-->>Service: transactionStarted + Service->>Repository: commitTransaction() + end + Note over Service: Success (commit) + + opt External Failure + Service->>Integration: sendPaymentRequest() + Integration-->>Service: paymentFailure + Service->>Repository: rollbackTransaction() + Repository-->>Service: transactionRolledBack + end + + opt DB Failure + Service->>Repository: throwException() + Repository-->>Service: exceptionOccurred + Service->>Repository: rollbackTransaction() + Repository-->>Service: transactionRolledBack + end +``` \ No newline at end of file