결제 전환 목표 아키텍처 정의 #1
4 changed files with 44 additions and 0 deletions
3
.forge/SPRING-ARC-REVIEW-1783824683-attempt-2.md
Normal file
3
.forge/SPRING-ARC-REVIEW-1783824683-attempt-2.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# SPRING-ARC-REVIEW-1783824683-attempt-2
|
||||||
|
|
||||||
|
Forge 이슈 작업 브랜치 `forge/SPRING-ARC-REVIEW-1783824683-attempt-2`.
|
||||||
15
docs/architecture/adr-payment-boundary.md
Normal file
15
docs/architecture/adr-payment-boundary.md
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# 결제 전환 목표 아키텍처 결정 기록
|
||||||
|
|
||||||
|
## Context
|
||||||
|
결제 시스템의 전환 목표를 정의하고, 시스템의 경계를 명확히 하여 결제 처리의 일관성을 확보한다.
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
결제 전환 목표는 API 기반의 마이크로서비스 아키텍처로 정의하며, 결제 서비스는 독립적으로 배포 가능해야 한다.
|
||||||
|
|
||||||
|
## Alternatives
|
||||||
|
1. 모놀리식 아키텍처: 모든 결제 관련 기능을 단일 애플리케이션으로 구현.
|
||||||
|
2. 서버리스 아키텍처: 결제 기능을 서버리스로 구현하여 관리 부담을 줄임.
|
||||||
|
|
||||||
|
## Consequences
|
||||||
|
- API 기반 아키텍처는 유연성과 확장성을 제공하지만, 초기 설정과 관리가 복잡할 수 있다.
|
||||||
|
- 모놀리식 아키텍처는 간단하지만, 확장성에 한계가 있다.
|
||||||
7
docs/architecture/package-map.md
Normal file
7
docs/architecture/package-map.md
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
| 패키지 | 책임 | 금지 의존성 |
|
||||||
|
|--------------|--------------------------------------|------------------|
|
||||||
|
| controller | 사용자 요청 처리 및 응답 반환 | service, repository |
|
||||||
|
| service | 비즈니스 로직 처리 | controller, repository |
|
||||||
|
| repository | 데이터베이스와의 상호작용 | service |
|
||||||
|
| domain | 도메인 모델 및 비즈니스 규칙 정의 | controller, service |
|
||||||
|
| integration | 외부 시스템과의 통합 | repository |
|
||||||
19
docs/architecture/transaction-sequence.md
Normal file
19
docs/architecture/transaction-sequence.md
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant User
|
||||||
|
participant PaymentService
|
||||||
|
participant Database
|
||||||
|
participant ExternalService
|
||||||
|
|
||||||
|
User->>PaymentService: 결제 요청
|
||||||
|
PaymentService->>Database: 트랜잭션 시작
|
||||||
|
alt 정상 흐름
|
||||||
|
PaymentService->>ExternalService: 결제 처리 요청
|
||||||
|
ExternalService-->>PaymentService: 결제 성공
|
||||||
|
PaymentService->>Database: 트랜잭션 커밋
|
||||||
|
else 외부 실패
|
||||||
|
PaymentService->>Database: 트랜잭션 롤백
|
||||||
|
else DB 실패
|
||||||
|
PaymentService->>Database: 트랜잭션 롤백
|
||||||
|
end
|
||||||
|
```
|
||||||
Loading…
Add table
Add a link
Reference in a new issue