Backend/Spring Cloud

Spring Cloud Netflix Eureka - Client Load Balancer 설정

야뤼송 2022. 3. 28. 11:33
반응형

 

1.Eureka Client Random Port 지정

  • 일반적인 환경에서는 지정된 PORT를 사용하여 어플리케이션을 운영한다. 그러나 MSA와 같이 LB 환경을 위해 여러 서비스를 등록하거나 자동으로 서비스가 증가되어야 하는 상황에서는 random port를 이용한다.
    동일한 서비스를 여러개 실행하는 경우라면, 관리자가 매번 PORT 번호를 지정하는 것도 한계가 존재함.
  • random port 설정 방법 
    - yml 파일에서 port번호를 0번으로 설정.
    server:
      port: 0
    # port : 0  #random port 사용
  • random port 설정 후 Eureka Server에서는 서비스 목록 2개가 정상 노출 된다.
  • 그러나 위와 같이 설정할 경우 동일한 service application이 여러개 실행되는 경우 yml에서 설정한 port인 0으로 인식이 되기 때문에 아래 이미지에서 보다시피 각각의 서비스를 구분하기 어렵다.

2. Random Port 지정시 서비스를 구분하는 방법 - instance-id 부여

  • random port 지정 시 서비스를 구분하기 위해 각각의 서비스에 instance-id로 구분하는 방법이 있다.
  • instance-id를 설정하는 방법
    eureka:
      instance:
        instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}
      client:
        register-with-eureka: true
        fetch-registry: true
        service-url:
          defaultZone: http://127.0.0.1:8761/eureka​
  • instance-id를 부여 후 Eureka server에서 설정한 instance-id로 인스턴스가 각각 보여지게 된다.

 

해당 내용은 인프런 이도원님의 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)"를 듣고 정리한 내용입니다.
반응형