41 lines
No EOL
1.4 KiB
Markdown
41 lines
No EOL
1.4 KiB
Markdown
```mermaid
|
|
sequenceDiagram
|
|
participant User
|
|
participant PaymentService
|
|
participant PaymentGateway
|
|
participant Database
|
|
|
|
%% 정상 흐름
|
|
User->>PaymentService: 결제 요청
|
|
PaymentService->>Database: 거래 데이터 저장
|
|
Database-->>PaymentService: 저장 완료
|
|
PaymentService->>PaymentGateway: 결제 요청
|
|
PaymentGateway-->>PaymentService: 결제 성공
|
|
PaymentService->>Database: 거래 완료 상태 업데이트
|
|
Database-->>PaymentService: 상태 업데이트 완료
|
|
PaymentService-->>User: 결제 성공 응답
|
|
|
|
%% 외부 실패 흐름
|
|
User->>PaymentService: 결제 요청
|
|
PaymentService->>Database: 거래 데이터 저장
|
|
Database-->>PaymentService: 저장 완료
|
|
PaymentService->>PaymentGateway: 결제 요청
|
|
PaymentGateway-->>PaymentService: 결제 실패
|
|
PaymentService->>Database: 거래 실패 상태 업데이트
|
|
Database-->>PaymentService: 상태 업데이트 완료
|
|
PaymentService-->>User: 결제 실패 응답
|
|
|
|
%% DB 실패 흐름
|
|
User->>PaymentService: 결제 요청
|
|
PaymentService->>Database: 거래 데이터 저장
|
|
Database-->>PaymentService: 저장 실패
|
|
PaymentService-->>User: 결제 실패 응답
|
|
|
|
%% commit 흐름
|
|
PaymentService->>Database: 커밋
|
|
Database-->>PaymentService: 커밋 완료
|
|
|
|
%% rollback 흐름
|
|
PaymentService->>Database: 롤백
|
|
Database-->>PaymentService: 롤백 완료
|
|
``` |