본문 바로가기
스프링 스터디 (인프런)/API GATEWAY

Spring Cloud Gateway - Load Balancer ➀

by 백엔드 개발자 2023. 9. 16.

 

Eureka  연동

 

GW로 요청시 유레카 서버에서 해당 마이크로서비스의 위치를 확인하고,

GW가 직접 해당 위치로 포워딩한다.

 

 

 

 

 

Eureka Client 추가 : pom.xml, application.yml 파일 내용 추가

eureka 설정 정보등록을 위한 값들을 추가한다.

 

service-url :Eureka 서버의 위치정보를 기록한다.

 

 

 

 

Eureka Client 추가 : application.yml

기존에 유레카 서버를 사용하지 않았던 상황의 uri와 다르다.

그때는 localhost :...  이런식으로 직접 작성해주었다면

유레카서버 사용시에는 lb..와 같이 네이밍 서버에 등록되어 있었던 이름대로

포워딩 진행

 

 

 

Eureka Server - Service 등록 확인

 

유레카 서버에 어플리케이션 정보를 등록해줌으로써, application.yml에서 가져다 사용할 수 있다.

 

 

 

 

 

 

 

실습

1. Eureka dependency 3가지 서비스 pom.xml에 추가하기(API GW, FISRT, SECOND)

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

+ 팁 : shift 2번을 누르면 원하는 파일을 빠르게 검색할 수 있다.

 

 

 

 

apigateway-service, first, second 모두 application.yml에 유레카 client 수정

eureka:
  client:
    register-with-eureka: true #eureka의 registry에 등록할지 여부이다.
    fetch-registry: true #registry의 정보를 가져올 지 여부.
    service-url:
      defaultZone: http://localhost:8761/eureka #

 

 

 

 

Eureka 구동을 위해 discoveryservice 어플리케이션 실행

 

 

 

 

 

 

 

 

discovereyservice의 application.yml파일에 포트를 8761로 세팅해 놨기 때문에,

127.0.0.8761로 접속하면 유레카 페이지를 확인 가능하다.

 

 

 

 

service 3개 전부 실행 후 유레카 페이지 새로고침

service uri 주소가 3개 전부 등록되어있는 것을 확인할 수 있다.

 

 

 

 

APIGATEWAY-SERVICE application.yml uri 변경해준 모습

 

 

 

postman으로 http://127.0.0.1:8000/first-service/welcome  요청 테스트

 

유레카 서버를 통해서 uri를 가져오도록 변경한 후에도 테스트시 정상적으로 통신 되는 것을 확인할 수 있다