특징
- MSA 환경에서 각 서비스의 위치를 관리하고 조회하는 역할
- 등록된 서비스들은 조회 및 통신이 가능하고 등록 서버에 자신의 위치를 등록한다
- 헬스 체크, 서비스 조회/등록 등의 기능이 존재한다
- 서비스 인스턴스의 상태를 주기적으로 확인하여 가용성 보장
- 넷플릭스에서 개발한
Eureka가 대표적이다
서버 설정
application.properties혹은yml을 통해 설정할 수 있다
server:
port: 8761
eureka:
client:
register-with-eureka: false
server:
enable-self-preservation: false
클라이언트 설정
- 각 서비스(예: 주문, 상품, 유저 등) 는 Eureka 에 자신을 등록해야함
- 각 서비스는
spring-cloud-starter-netflix-eureka-client의존성을 사용해야 하며 애플리케이션 이름만 설정파일에 있으면 자동으로 유레카에 등록됨spring: application: name: order
Eureka 고가용성 설정
- 일반적으로 하나의 서버에 트래픽이 많이 요청되면 스케일 아웃, 클러스터 구성을 진행한다
Eureka에서도 클러스터 구성을 할 수 있다- 다중 인스턴스로 등록
- 각각의 인스턴스가 서로의 백업 역할을 한다 (피어로 등록되어 상호 백업 역할)
- 즉
Eureka서버를 다중 인스턴스로 구성할 때 각 서버의 피어 설정을 통해 서로 인식하고 백업할 수 있다
2개의 인스턴스와 1개의 Eureka 서버 테스트


Eureka 서버에서 두 인스턴스 확인 가능
테스트 코드
'학습일지 > Architecture' 카테고리의 다른 글
| [Architecture] 중앙 집중식 Config 설정 관리 (3) | 2025.09.17 |
|---|---|
| [Architecture] API Gateway (Spring Cloud Gateway) (0) | 2025.09.17 |
| [Architecture] 서킷브레이커 (Resilience4j) (0) | 2025.09.17 |
| [Architecture] 로드밸런싱 (0) | 2025.09.16 |
| [Architecture] MSA, Spring Cloud (0) | 2025.09.16 |