1.1 KiB
1.1 KiB
sequenceDiagram participant User as User participant PaymentGateway as Payment Gateway participant PaymentService as Payment Service participant Database as Database
User->>PaymentService: 요청(결제)
PaymentService->>PaymentGateway: 결제 요청
alt 정상 케이스
PaymentGateway-->>PaymentService: 결제 성공
PaymentService->>Database: DB에 거래 내역 저장
Database-->>PaymentService: 저장 성공
PaymentService-->>User: 결제 완료
else 외부 실패
PaymentGateway-->>PaymentService: 결제 실패
PaymentService-->>User: 결제 실패 메시지 전송
else DB 실패
PaymentGateway-->>PaymentService: 결제 성공
PaymentService->>Database: DB에 거래 내역 저장
Database-->>PaymentService: 저장 실패
PaymentService-->>User: 결제 실패 메시지 전송
end
%% Commit과 Rollback 경계
PaymentService->>Database: COMMIT (정상 흐름)
Database-->>PaymentService: COMMIT 성공
PaymentService->>Database: ROLLBACK (오류 발생 시)
Database-->>PaymentService: ROLLBACK 완료