Spring Cloud Netflix Eureka는 Spring Cloud Framework에서 제공한다.
https://spring.io/guides/gs/service-registration-and-discovery/
- Eureka는 MSA에서 사용하는 서비스 디스커버리 기능을 제공한다.
- Service Discovery는 분산 환경에서 각각의 서비스가 서로 찾고 통신할 수 있도록 도와준다.
- MSA과 같은 분산 환경에서는 서비스 간의 통신이 이루어지며, 이는 IP 주소와 Port를 이용하는 방식이다.
- 하지만 클라우드 환경에서는 서비스가 동적으로 생성되거나, 컨테이너 기반으로 배포되어 IP 주소와 Port가 자주 변경된다.
- 따라서 Service Discovery를 통해 동적으로 변하는 IP와 Port를 직접 알지 않아도 서비스의 위치를 동적으로 알아내고 호출할 수 있어, 클라우드 환경의 동적인 변화에 유연하게 대응할 수 있다.
- A 서비스의 인스턴스가 생성될 때, Service Discovery에 등록하고, 해당 A 서비스를 호출하고자 하는 클라이언트는 Service Discovery를 통해 A 서비스의 주소를 물어보고, 등록된 주소를 받아 통신할 수 있다.
Eureka server 구축
Gradle 의존성 추가
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'
Euraka Server 활성화 (XXXApplication.java)
@SpringBootApplication
@EnableEurekaServer
public class XXXApplication {
public static void main(String[] args) {
SpringApplication.run(XXXApplication.class, args);
}
}
- 해당 서버가 Eureka Server 역할을 할 수 있도록 @EnableEurekaServer 추가
Euraka Server 설정 파일 (application.yml)
server:
port: 8761
spring:
application:
name: discoveryservice
eureka:
client:
register-with-eureka: false
fetch-registry: false
- server.port
- Eureka Server가 Web Service로 구동되기 때문에 port 번호를 지정
- spring.application.name
- MSA에서 해당 서비스를 구별할 수 있는 고유한 ID
- eureka.client
- eureka 라이브러리가 포함된 채 스프링이 구동이 되면 기본적으로 Eureka Client로 역할로써, 자신을 등록하는 역할을 수행
- 해당 서버는 Eureka 서버로써, 자기 자신을 Eureka 서버에 등록할 필요 없으니 모두 false로 설정
Euraka Server 실행
- 서버 실행 후, http://localhost:8761 접속
MSA 공부
(1) Eureka Server 구성
(2) Eureka Client 구성
(3) Client Side Load Balancer & API Gateway 개념 정리
(4) Spring Cloud Gateway 구현
참고 강의 : https://www.inflearn.com/course/스프링-클라우드-마이크로서비스/dashboard
'개발 > Spring Cloud' 카테고리의 다른 글
[Spring Cloud] Config Server 설정 정보의 암호화 처리 (0) | 2023.06.20 |
---|---|
[Spring Cloud] Config Server 구축하기 (busrefresh 하기) (1) | 2023.06.19 |
[Spring Cloud] Spring Cloud Gateway 구축하기 (0) | 2023.06.12 |
[Spring Cloud] Client Side Load Balancer & API Gateway 개념 정리 (0) | 2023.06.11 |
[Spring Cloud] Eureka Client 구축하기 (0) | 2023.06.05 |