Skip to content

minkik715/mk-fast-pay

Repository files navigation

간편결제 시스템
Domain Driven Desgin 개발 철학, Micro Server Architecture, Hexagonal Architecture를 연습 및 적용해보고자 한 간편결제 프로젝트입니다.

이 시스템의 주요 목적은 사용자가 MK머니를 충전하고, 외부 가맹점 또는 특정 사용처에서 이를 소비할 수 있도록 지원하는 것입니다. 수익 모델은 사용자의 포인트를 보유함으로써 발생하는 이자 수익과, 가맹점 또는 사용처로부터 수수료를 받는 구조입니다. 따라서, 사용자가 쉽고 안정적으로 포인트를 충전하고 소비할 수 있도록 하는 것이 가장 핵심적인 비즈니스 로직입니다.

필요한 기능은 다음과 같습니다.

  1. 머니 충전 및 차감
  2. 사용자 관리
  3. 계좌 관리
  4. 결제한 내역 관리
  5. 가맹점 관리

각 기능들은 독립적인 책임과 역할을 가지며 다른 기능과 상호작용합니다. 기능들이 하나의 서비스에서 개발된다면 응집력이 낮아지고 서로 결합되며 big ball of mud 형태가 될 수 있고 각 명확한 책임을과 역할을 가지고 주요한 도메인이 존재하기 때문에 DDD의 Bounded-context 개념과 context-map을 통해 적절히 나눴습니다.

MSA와 DDD를 통해서 다음과 같은 이점을 얻을 수 있었습니다.

  1. 서비스간 결합성을 낮추고 응집력 올려 각 서비스의 명확한 역할을 부여할 수 있었습니다.
  2. 유연한 기능 확장 및 배포단위 최소화
  3. 변경에 빠른 대처가 가능하다.
  4. 다른 서비스의 오류에 영향이 낮음
  5. 단독적인 스케일 가능

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors