1.4 KiB
1.4 KiB
ADR: Payment Boundary
Context
결제 시스템은 다양한 서비스와 상호 작용하며, 이러한 상호 작용의 경계와 책임을 명확히 하는 것이 중요합니다. 본 ADR은 결제 관련 서비스의 경계를 정의합니다.
Decision
결제 서비스는 다음과 같은 주요 구성 요소와 인터페이스를 포함해야 합니다:
- 사용자 인증 및 권한 부여
- 결제 생성 및 처리
- 결제 상태 조회 API
결제 시스템은 서비스 간의 명확한 경계를 유지하도록 설계합니다. 각 서비스는 독립적으로 배포 가능해야 하며, 결제 처리는 비동기식으로 진행됩니다.
Alternatives
-
모든 결제 관련 기능을 단일 서비스로 통합
- 장점: 구현이 간단하고 초기 개발 속도가 빠름
- 단점: 서비스가 무거워지고 확장성이 낮아짐
-
서버리스 아키텍처를 사용하여 각 기능을 독립적인 Lambda 함수로 구현
- 장점: 비용 효율적이고 유연함
- 단점: 관리해야 할 함수의 수가 많아질 수 있음
Consequences
이 결정에 따라 결제 시스템은 서비스 간의 책임 분리 및 독립적인 배포가 가능해지고, 운영 효율성이 향상됩니다. 그러나 각 서비스 간의 데이터 일관성을 유지하는 추가적인 작업이 필요할 수 있습니다. 또한, 비동기 결제 처리는 사용자의 응답 시간이 길어질 수 있습니다.