[SpringCloud] Netflix Eureka

Donghyun Kim·2022년 8월 4일
0

Spring Cloud Netflix Eureka

간단하게 말하자면 Service Discovery는 MSA 핵심 요소 중 하나다.

각 클라이언트의 설정 및 위치 정보 (IP)를 수동으로 구성한다면 CI CD, 혹은 Scaling 에 매우 많은 제약사항이 따른다.

하지만 Netlfix- Eureka는 서버를 구성 및 배포하여 가용성이 높도록 할 수 있으며, 각 서버는 등록된 서비스에 대한 상태를 다른 서버로 복제할 수 있게 하는 역할을 한다.

Eureka 구성 요소

Service Discovery

각각의 서비스의 위치가 등록된 서버에서 특정 작업을 위한 서버의 위치를 파악하는 작업을 뜻한다.
우리는 Service Discovery를 위해서 Spring Cloud Netflix - Eureka Server를 사용한다.

Service Registry

각각의 서비스가 자신의 위치(IP) 정보를 특정 서버에 등록 Registry 하는 작업을 말한다.
우리는 Service Registry를 위해서 Spring Cloud Netflix - Eureka Client를 사용한다.

Eureka를 이용한 Service Discover 과정

Spring Cloud Eureka는 아래와 같은 순서로 동작하게 된다.

  1. Service Registry 기능을 할 Eureka Server 가 최초에 기동된다.

  2. Service Registry 서버인 Eureka Server 에 등록될 서비스들이 기동된다. 여기서 등록된 서비스는 Eureka Client 라고 한다.

  3. Eureka 서버는 자신에게 등록된 Eureka Client 에게 30초마다 Ping을 보내며 Health Checking을 수행한다.

  4. 만약 30초마다 보내는 Heart Heat가 일정 횟수 이상으로 동작되지 않으면 Eureka Server는 해당 Client를 삭제한다.

Eureka는 단지 서비스의 위치만을 표현하는 역할로 보통 Spring Cloud Gateway나 Netflix Zuul 과 같은 Gateway 서비스나 Ribbon 과 같은 클라이언트 사이드 로드밸런서와 함께 동작한다.

profile
"Hello World"

0개의 댓글