결제 전환 목표 아키텍처 정의 (1/2) (1/2) (SPRING-ARC-REF-FINAL-1783833422)
All checks were successful
ci / test (pull_request) Successful in 7s
All checks were successful
ci / test (pull_request) Successful in 7s
This commit is contained in:
parent
ea58481729
commit
921987b2a9
1 changed files with 6 additions and 11 deletions
|
|
@ -1,19 +1,14 @@
|
|||
# ADR: Payment Boundary
|
||||
# ADR for Payment Boundary
|
||||
|
||||
## Context
|
||||
결제 시스템을 구현하는 데 있어 도메인 아이템과 외부 결제 게이트웨이 간의 경계를 명확히 하는 것이 중요합니다. 이를 통해 결제 처리에 대한 책임을 잘 정의하고, 도메인 로직과 외부 종속성 간의 결합도를 최소화할 수 있습니다.
|
||||
The payment processing system is pivotal for the business operations, therefore a well-defined boundary is necessary to manage dependencies, isolate services, and ensure the resilience of the application.
|
||||
|
||||
## Decision
|
||||
도메인 모델은 결제 게이트웨이에 대한 직접 참조를 피하고, 대신 포트 인터페이스를 통해 결제 관련 요청을 처리하도록 합니다. 이를 통해 결제 프로세스를 더 유연하게 관리하고, 다양한 외부 결제 제공자와의 통합을 용이하게 합니다.
|
||||
We will implement a microservices architecture for payment processing, with the following boundaries: 1. Payment Service, 2. Notification Service, 3. Reporting Service. These services will communicate through well-defined APIs and will be independently deployable.
|
||||
|
||||
## Alternatives
|
||||
1. **직접 의존**: 도메인 모델이 결제 게이트웨이에 직접 의존하게 하는 방식
|
||||
- 장점: 구현이 단순하고 빠름
|
||||
- 단점: 결제 제공자 변경 시 도메인 모델 수정 필요
|
||||
|
||||
2. **포트 인터페이스 사용 (선택한 안)**: 도메인 모델과 외부 시스템 간의 의존성을 포트 인터페이스로 분리
|
||||
- 장점: 도메인 모델의 독립성 유지, 다양한 결제 제공자와의 통합 용이
|
||||
- 단점: 초기 구현이 더 복잡할 수 있음
|
||||
1. Monolithic architecture - rejected due to tight coupling and scalability issues.
|
||||
2. Service-oriented architecture - rejected due to complexity in service integrations compared to microservices.
|
||||
|
||||
## Consequences
|
||||
이 결정을 통해 코드베이스의 유연성과 유지 보수성이 증가할 것이며, 새로운 결제 제공자 추가에 따른 프로젝트의 전체적인 작업량이 줄어들 것입니다. 또한, 도메인 모델은 요구 사항 변경 시 더 적은 영향 만큼의 수정으로 대응할 수 있게 됩니다.
|
||||
This decision allows for better scalability and maintainability of the payment processing system but will introduce challenges in inter-service communication and data consistency management.
|
||||
Loading…
Add table
Add a link
Reference in a new issue