메모장
Spring Cloud (Netflix Eureka) 정리
Developer-Choi
2023. 2. 1. 11:02
728x90
728x90
MSA 아키텍처를 개발하는데 있어서 스프링은 Spring Cloud 프레임워크를 사용한다.
Spring Cloud Netflix Eureka는 Spring Cloud 를 사용하는데 있어 넷플릭스가 만든 Eureka Server를 이용하는 것이다.
Netflix는 심각한 DB손상으로 서비스 장애를 겪고 난 이후, 신뢰성 높고 수평확장이 가능한 Cloud System으로 MSA를 이루었고, 이때의 기술을 Spring에게 오픈소스로 풀었는데, 이것이 Spring Cloud Netflix Eureka Server 이다.
Spring Cloud
-> Service Discovery, Service Registry 두 가지가 핵심이다.
Registry : 각각의 MSA 서버가 자기의 위치를 Spring Cloud 에 저장한다.
Discovery : Spring Cloud 에서 Clinet 요청을 받아 요청에 알맞는 MSA 서버를 찾아 해당 위치를 알려준다.
Eureka Server 역할을 할 스프링 부트 프로젝트를 생성 방법
-> 스프링 부트 프로젝트를 생성 시에 Spring Cloud Discovery -> Eureka Server 를 선택해 build 한다.
-> @SpringBootApplication 클래스 파일에 @EnableEurekaServer 어노테이션이 붙은걸 확인 할 수 있는데,
이것이 스프링 부트 어플리케이션을 Eureka Server로 서버를 기동하게 만든다.
-> applicaiton.yml 설정
server:
port: 8761
spring:
application:
name: discoveryservice
// 위는 현재 기동하는 서버 관련 설정이고, 아래가 eureka 관련 설정이다.
eureka:
client:
register-with-eureka: false
fetch-registry: false
// 이 서버는 각각의 MSA 서버가 아닌 MSA 서버들의 위치를 저장하고
// clinet한테 알려주는 서버이므로 자기 자신은 MSA 서버로 등록을 하지 않겠다는 뜻이다.