본문 바로가기

MSA (MicroServiceArchitecture)/MSA Application (온라인 쇼핑몰))

0.MSA 애플리케이션 개발 개요 (온라인 쇼핑몰)

# 온라인 쇼핑몰을 MSA 형태로 개발한다.

1. 예제 애플리케이션의 구성은 아래와 같다.

- 개발 환경 : 스프링부트, Gradle, etc...

- Github : 소스관리

- Kafka : 서비스간 메시지 발행 및 구독 (비동기 서비스)

- Eureka 서버 : 서비스 등록 및 검색 관리

- API Gateway 서버 : Spring Cloud Gateway로 구성, 부하분산 및 서비스 라우팅

- Microservices : 회원 서비스, 상품주문 서비스, 상품 카테고리 서비스 로 구성

2. 주요 애플리케이션 API 목록은 아래와 같다.

서비스 이름 RESTful API 정보 HTTP 호출 정보
Catalog Service /catalog-service/catalogs : 상품 목록 제공 GET
User Service /user-service/users : 사용자 정보 등록
/user-service/users : 전체 사용자 조회
/user-service/users/{user_id} : 사용자 정보, 주문 내역 조회
POST
GET
GET
Order Service /order-service/users/{user_id}/orders : 주문 등록
/order-service/users/{user_id}/orders : 주문 확인
POST
GET

3. 기타

- 서비스는 일단 Spring으로 구성된 백엔드만 만들고 기회가 되면 간단하게 프론트 엔드도 만들어서 화면에서 출력하는 작업을 해보자.

- 애플리케이션 구성이 완료되면 kubernetes와 연동해서 서비스를 확장 시켜보자.

- CI/CD 파이프라인 작업까지 구성을 해서 빌드 배포 자동화를 구현하는 작업을 해보자.

- 모든 작업은 왠만하면 로컬에서 구성을 해보자.

- 작업 할때마다 WorkFlow를 작성하고 해당 내용을 기록하자.

- ORM방식과 네이티브 쿼리방식 QueryDSL등 여러가지 방법을 고려해서 작업을 진행해보자.