Compare commits

..

4 commits

4 changed files with 54 additions and 0 deletions

View file

@ -0,0 +1,3 @@
# SPRING-ARC-SPLIT-1783827796-attempt-4
Forge 이슈 작업 브랜치 `forge/SPRING-ARC-SPLIT-1783827796-attempt-4`.

View file

@ -0,0 +1,15 @@
# 결제 전환 목표 아키텍처 결정 기록
## Context
결제 시스템의 전환 목표를 정의하고, 시스템의 경계를 명확히 하여 결제 처리의 일관성을 유지한다.
## Decision
결제 처리의 경계를 명확히 하여 서비스 간의 의존성을 최소화하고, 각 서비스가 독립적으로 동작할 수 있도록 한다.
## Alternatives
1. 모든 서비스가 직접 데이터베이스에 접근하는 방법
2. 서비스 간의 직접 호출을 통한 데이터 공유
## Consequences
- 서비스 간의 의존성이 줄어들어 유지보수가 용이해진다.
- 데이터 일관성을 유지하기 위한 추가적인 로직이 필요할 수 있다.

View file

@ -0,0 +1,7 @@
| 패키지 | 책임 | 금지 의존성 |
|-----------|-----------------------------|------------------|
| controller | 사용자 요청 처리 | service -> repository |
| service | 비즈니스 로직 처리 | repository -> service |
| repository | 데이터베이스 접근 및 관리 | - |
| domain | 도메인 모델 정의 | - |
| integration | 외부 시스템과의 통신 | - |

View file

@ -0,0 +1,29 @@
```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: 결제 완료
alt 외부 실패
Service-->>Controller: 실패 응답
Controller-->>User: 결제 실패
end
alt DB 실패
Repository-->>Service: DB 오류
Service-->>Controller: 처리 실패
Controller-->>User: 결제 실패
end
Note over Service, Repository: Commit/rollback 경계 설정