Rental Application (React & Spring boot Microservice) - 2 : Eureka Server

yellow_note·2021년 8월 15일
0

#1 Eureka Discovery Service

Spring Cloud Netflix Eureka는 MicroService에서 구동이 되는 여러 서비스들을 Eureka서버에 등록하게 하여 이 서비스들을 관리해주는 서버입니다.

그림처럼 여러 서비스들이 유레카 서버에 묶이게 됩니다. 예를 들어 클라이언트에서 /auth-service/** 과 같은 도메인으로 요청했을 경우 해당 도메인을 가진 서비스에 매핑을 시켜주는, 키 : 밸류 형태로써 요청과 응답을 진행합니다.

#2 Eureka Server 프로젝트 생성

저는 앞으로 모든 서비스의 디렉토리 구조를 com.microservices.* 형태로 맞출 예정이기 때문에 com.microservices로 group을 설정하였습니다.

Spring Boot의 버전은 2.4.* 대 버전으로 맞추어 진행하고 Eureka Server 디펜던시를 추가하도록 하겠습니다.

프로젝트를 생성하시면 화면처럼 디렉토리 구조가 생성이 되고 DiscoveryServiceApplication 클래스 파일에 들어가 EnableEurekaServer 어노테이션을 달아줍니다. 이 어노테이션은 해당 프로젝트를 Eureka Server로 사용하겠다라는 의미의 어노테이션입니다.

그리고 application.properties를 application.yml로 바꿔준 후 다음과 같은 설정을 진행하였습니다. spring.application.name은 해당 프로젝트의 이름을 다음과 같이 명시할 것이란 의미이고, server.port는 다음 포트번호로 서버를 구동시킬 것이다 라는 의미입니다.

서버를 구동시키고 http://localhost:8761로 접속을 하게 되면 해당 페이지가 뜨게 되고 discovery-service가 클라이언트로 등록이 되는 모습을 볼 수 있습니다. discovery-service는 서버로 구동될 프로젝트이기 때문에 application.yml 파일에서 설정을 주어 클라이언트 등록을 없애도록 하겠습니다.

application.yml파일에 eureka.client.fetch-registry: false와 eureka.client.register-with-eureka: false 옵션을 넣으면 유레카 서버에 등록이 되는 것을 막을 수가 있습니다.

이런 방식으로 discovery-service 구현을 마치도록 하겠습니다.

참고

인프런: Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) - 이도원

0개의 댓글