본문 바로가기
카테고리 없음

MSA 시작하기 - Eureka

by 땅콩둘기 2021. 3. 8.
반응형

MSA란 마이크로 서비스 아키텍처(Micro Service Architecture)의 약자로 단일 프로그램을 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 방법으로 알려져있다.

Monolithic to Microservice

이러한 MSA 아키텍쳐 도입을 위해 Eureka, Zuul, Ribbon을 사용할 수 있습니다.


Eureka

(Service Discovery - 클라이언트나 API 게이트웨이가 호출할 서비스를 찾는 매커니즘)

Eureka는 AWS 클라우드에서 middle-tier 서버의 로드 밸런싱 및 페일 오버를 위해 서비스를 찾는데    사용되는 REST 기반 서비스입니다. (AWSmiddle-tier load balancer를 제공하지 않는다.)

Serviceeureka에 등록 하여 id 기반으로 endpoint 탐색이 가능하게 함

용한 서비스 인스턴스 목록과 그 위치(host, port)가 동적으로 변하는 가상화 혹은 컨테이너화된 환경에서 클라이언트가 서비스 인스턴스를 호출할 수 있도록 Service registry를 제공/관리하는 서비스

(전통적인 로드 밸런서는 서버의 고정적인 IP 주소와 Host name을 기준으로 동작하는 반면, AWS와 같은 클라우드 환경에서는 서버 위치가 동적으로 변할 수 있기 때문에 로드 밸런서에 그 위치를 등록하고 변경하는 과정이 훨씬 더 까다롭다.)

Eureka Server와 Java 기반 클라이언트 구성 요소인 Eureka Client와 함께 제공합니다.

클라이언트에는 기본 라우드 로빈 로드 밸런싱을 수행하는 로드 밸런서가 내장되어 있습니다.

Eureka를 감싸고 있는 정교한 로드 밸런서는 트래픽, 리소스 사용, 오류 조건 등과 같은 여러 요소를 기반으로 가중된 로드 밸런싱을 제하여 우수한 탄력성을 제공합니다.

* REST의 정의“Representational State Transfer” 의 약자자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.

 

Eureka High level Architecture

그림과 같이 Eureka client를 내장한 Application ServiceClientEureka Server에 등록을 요청하고 30초마다 갱신을 위한 하트 비트를 보냅니다.

이러한 등록 정보와 갱신 정보는 클러스터의 모든 유레카 노드에 복제가 되고 클라이언트들은 레지스트리 정보를 찾아 해당 서비스를 찾고 원격 호출이 가능하게 됩니다.

RestAPI Registry

 

반응형

댓글