인프런 강의 - Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 강의를 보면서 정리하는 노트입니다.
강의에서 진행 할 애플리케이션 구성요소
구성요소 |
설명 |
Git Repository |
마이크로서비스 소스 관리 및 프로파일 관리 |
Config Server |
Git 저장소에 등록된 프로파일 정보 및 서비스 라우팅 |
Eureka Server |
마이크로서비스 등록 및 검색 |
API Gateway Server |
마이크로서비스 부하 분산 및 서비스 라우팅 |
Microservices |
회원 MS, 주문 MS, 상품(카테고리) MS |
Queuing System |
마이크로서비스 간 메시지 발행 및 구독 |
강의에서 진행 할 애플리케이션 API 목록
마이크로서비스 |
Restful API |
HTTP Method |
Catalog Service |
/catalog-service/catalogs : 상품 목록 제공 |
GET |
User Service |
/user-service/users : 사용자 정보 등록 |
POST |
User Service |
/user-service/users : 전체 사용자 조회 |
GET |
User Service |
/user-service/users/{user_id} : 사용자 정보, 주문 내역 조회 |
GET |
Order Service |
/order-service/users/{user_id}/orders : 주문 등록 |
POST |
Order Service |
/order-service/users/{user_id}/orders : 주문 확인 |
GET |
Users Microservice
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.176</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.8</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
Github
https://github.com/sisipapa/spring-cloud-inflearn.git