DDD 기반 Merchant 시스템 구축 사례: 클린 아키텍처, gRPC, Kafka 활용

by DD
10개월 전
조회수 19

DDD를 활용하여 소매 상품 판매를 위한 Merchant 시스템을 구축함

클린 아키텍처gRPC, Kafka를 통해 시스템의 가용성 및 확장성 확보

ADR을 활용하여 팀 간의 의사 결정 공유소통 효율성 증대

클린 아키텍처와 DDD의 조화

클린 아키텍처는 도메인 엔티티를 중심으로 외부 환경으로부터의 의존성을 최소화한다. 구체적으로 유스케이스를 통해 외부 인터페이스 어댑터를 구현하여 도메인 코드의 독립성을 확보한다. 따라서 DDD를 적용하여 도메인 모델에 집중하고, 시스템의 유지보수성을 높일 수 있다.

gRPC와 Kafka를 활용한 비동기 아키텍처

Merchant 시스템은 gRPC를 통해 API를 제공하고, Kafka를 사용하여 비동기 통신을 구현했다. 따라서 API 응답 속도를 향상시키고, Decaton을 활용하여 Kafka 처리량을 최적화했다. 반면, 즉각적인 응답이 필요한 시스템에는 적합하지 않다.

ADR을 통한 팀 협업 및 의사 결정 관리

ADR(Architectural Decision Record)은 팀 내 의사 결정을 문서화하여 지식 공유를 용이하게 한다. 구체적으로 아키텍처 결정의 배경, 고려 사항, 결정을 기록하여 팀 간의 소통을 강화한다. 따라서 조직 간의 협업을 원활하게 하고, 지속적인 시스템 발전을 가능하게 한다.

DDD를 Merchant 시스템 구축에 활용한 사례를 소개합니다