Service Discovery
개념
외부에서 마이크로서비스를 검색할 때 사용하는 컴포넌트
마이크로 서비스를 Service Discovery에 먼저 등록하고, Service Discovery는 클라이언트의 요청을 처리할 수 있는 마이크로서비스에 이를 전달한다.
Spring Cloud Netflix Eureka
Service Discovery의 역할을 할 수 있도록 제공하는 라이브러리다.
Eureka에 서비스를 등록하려면 아래와 같은 설정 파일을 둘 수 있다.
register-with-eureka: Eureka 서버에 현재 서비스를 등록할 지 설정한다.
fetch-registry: Eureka 서버로부터 인스턴스의 정보들을 주기적으로 가져올 지 설정한다.
service-url: 구동중인 Eureka 서버의 정보를 입력한다.
server:
port: 9001
spring:
application:
name: user-service
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://127.0.0.1:8761/eureka
Eureka에 서비스를 등록하기 위해 아래와 같이 EnableDiscoveryClient 어노테이션을 붙여주어야 한다.
@SpringBootApplication
@EnableDiscoveryClient
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}
랜덤 포트
랜덤 포트 사용 시 유레카 대시보드에서 0이라는 숫자가 그대로 나타나기 때문에 instance-id를 지정하여 대시보드에서 정보가 보이도록 해야 한다.
server:
port: 0
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://127.0.0.1:8761/eureka
instance:
instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}}
Last updated