각 서비스들을 유레카에 등록하고
~
작성중
~~
[오호라~]
유레카 서버, api gate 서버도 여러개로 다른 컴퓨터에서 띄운다. 이렇게 안되어있으면 유레카 서버 하나만 죽어도 연결된 서버들이 다 죽기 때문이다. 이게 클라우드이다.
Spring Cloud Gateway 란?
Netty를 사용
Spring Cloud Gateway는 Tomcat이 아닌 Netty를 사용합니다.
API GATEWAY는 모든 요청이 통과하는 곳이기 때문에 성능적인 측면이 매우 중요하며
기존의 1THREAD / 1REQUEST 방식인 SPRING MVC를 사용할 경우 성능적인 이슈가 발생할 수 있습니다.
Netty는 비동기 WAS이고 1THREAD / MANY REQUESTS 방식이기 때문에 기존 방식보다 더 많은 요청을 처리할 수 있습니다.
보통 Tomcat을 이용하여 서버를 띄우게 되는데 이는 동기 방식!
spring cloud API Gateway 는 비동기 방식이다. 그렇기 떄문에 Netty라는 비동기 내장 서버를 이용하여 띄운다. Netty started on port 8000 결과를 확인할 수 있다.
구현적인 측면은 order-service(Catalog and Orders Microservice_4) 작성 참고
DB와 연동하기 위한 데이터를 다룰 OrderEntity.java
DB query를 만들어줄 OrderRepository.java
controller와 Service JPA 사이를 이동한 데이터 객체인 OrderDto.java
유저가 보낸 request의 body를 받아서 담을 RequestOrder.java
유저가 보낸 요청에 대한 응답 값을 담아서 보내줄 ResponseOrder.java
---서비스를 만들겠다---
OrderService.java 인터페이스를 만들어 원하는 서비스를 만둘어준다.
서비스 구현을 위한 Impl
---컨트롤러 작성---
Configuration Service
각각의 마이크로서비스가 가지고 있어야 할 구성정보 파일로서 application.yml 파일을 사용했었다. application.yml 의 내용이 변경될 때 마다 어플리케이션 자체가 다시 빌드되고 배포해야했다. 이러한 점을 개선하기 위해 어플리케이션 내부에서 구성 파일을 가지고 있는 게 아니라 외부의 시스템을 통해 구성파일 정보를 관리할 수 있는 기능이다.
'Spring Boot > Spring Cloud' 카테고리의 다른 글
Spring Cloud Config (0) | 2023.11.09 |
---|---|
User Microservice - 회원로그인 & JWT (0) | 2023.11.07 |
Catalogs and Orders Microservice_4 (0) | 2023.10.30 |
Catalogs and Orders Microservice_3 (0) | 2023.10.30 |
Catalogs and Orders Microservice_2 (0) | 2023.10.30 |