본문 바로가기

메모장

Spring Cloud (Netflix Eureka) 정리

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 서버로 등록을 하지 않겠다는 뜻이다.