• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

Eureka Status 표시

21.04.06 14:41 작성 조회수 719

2

안녕하세요.

먼저 이렇게 좋은 강의를 올려주셔서 감사합니다.

1. 문제(?)

Euerka 화면에서 등록된 service 상태표시 형태

IP대신 컴퓨터 명이 표시됨.

2. 개발환경

window10 pro, IntelliJ Ultimate

3. 현상 

(강의동영상 11분~)

IP:app name:port (192.168.0.8:user-service:9001)

저의 로컬 ip대신 컴퓨터명이 나옵니다.

컴퓨터명:app-name:port

4, 문제라 판단한 이유

링크라서 ip가 와야 할 것 같음 

실제로 링크를 클릭하면 

컴퓨터명:9001/actuator/info 로 이동.

5. 원인파악

server를 기동할 때  부터 차이가 남.

6. 조치

user-service 의 application.yml에 아래 내용 추가

server:
port: 9001
address: 127.0.0.1
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defuaultZone: http://127.0.0.1:8761/eureka

instance:
prefer-ip-address: true
ip-address: ${server.address}
instance-id: ${server.address}:${server.port}



instance-id: ${server.address}:${spring.application.name}${server.port}


7. 질문

ip:port 로 표시는 나오는데 app-name이 표시 안 됨.

instance-id에 강제로 app-name을 넣어줄 경우 2개로 인식

설정을 어떻게 해야 하는 걸까요?
조언 부탁드립니다.

8. 해결(?)



instance-id: ${server.address}:${spring.application.name}:${server.port}

app-name과 port 사이에 콜론(:)이 빠졌었네요. 원하는 결과가 나온 것 같습니다.
이 방법이 맞는지 몰라서 강사님께서 확인 해 주시면 감사하겠습니다.

답변 1

답변을 작성해보세요.

3

안녕하세요, 이도원입니다. 

Eureka에 표시되는 이름은 어디까지나, application 설정파일에서 변경가능합니다. 

지금처럼 로컬에서 테스트 (또는 개발)를 위해 등록할 때는, ip address와 hostname을 매칭하는 hosts 파일을 등록해서 사용하지 않는 경우가 많기 때문에, hostname:port와 ip_address:port가 다른 결과를 보여주지만, 운영 서버에서는 hostname = ip_addresss로 등록해서 사용하기 때문에 문제가 되지 않습니다. 

application 파일에 변경한 내용에 따라 대시보드의 내용을 바꿀수 있기 때문에, 작업하신 내용은 문제 없을 거 같습니다. 

감사합니다.