이커머스 프로젝트 - 개요

김동균·2022년 12월 10일
0

아래는 최근 관심있게 읽었던 책들이다.

위 책들을 읽고 대규모 시스템 설계 영역의 기본적인 지식들을 알게 되었고, 나 스스로도 소프트웨어를 상상하는 방식의 성장을 느꼈다.
이제는 책으로 습득한 지식을 기반으로 애플리케이션을 직접 설계하고 구현해보려 하는데, 복잡한 도메인 지식이 존재하는 이커머스 분야가 배운 지식들을 적용하기 적합하다고 판단하여 간단한 이커머스를 구축해보는 프로젝트를 진행하려 한다.

프로젝트에 적용할 방법론, 기술은 다음과 같다.

Domain Driven Design

마이크로서비스를 도출하기 위한 방식으로 DDD의 전략적 설계 방식을 사용한다.
전략적 설계를 가속화할 수 있는 워크숍 방식인 이벤트 스토밍을 통해 마이크로서비스를 도출하고, 바운디드 컨텍스트를 식별하여 서비스의 기준으로 삼는다.

Microservice Architecture

DDD의 전략적 설계로 인해 도출된 서비스들을 각각의 마이크로서비스로 설계 및 구축한다.
모든 마이크로서비스들은 서로 느슨하게 결합되어 있으며, 독립적으로 변경/배포할 수 있다.

Spring Cloud

마이크로서비스 애플리케이션 구축에 필요한 서비스 레지스트리, 서비스 디스커버리, API 게이트웨이, Config 서버 등을 지원하기 위해 Spring Cloud를 사용한다.

Hexagonal Architecture

고수준의 비즈니스 로직을 표현하는 내부 영역과 인터페이스 처리를 담당하는 저수준의 외부 영역으로 분리하고, 현대 애플리케이션에서 필요로 하는 다양한 인터페이스들을 모두 지원하기 위해 다방면으로 열려있는 헥사고날 아키텍처를 적용한다.

Apache Kafka

마이크로서비스간에 데이터 정합성을 최종 일관성으로 보장할 수 있는 경우, 의존성을 낮추기 위해 비동기 이벤트 처리를 사용한다.
이 때 메시지 큐로 아파치 카프카를 사용한다.

profile
백엔드 개발자

0개의 댓글