작성
·
864
2
첫번째가 정상인데
두번째 사진이 제가 한겁니다..
왜 이렇게 나오는건가요?
그리고 게이트 웨이 서버에서
설정파일에 가시면
routes:
- id: first-service
# uri: http://localhost:8081/
uri: lb://MY-FIRST-SERVICE
이렇게 설정시
에러가 발생되면서 첫번째 서버쪽으로 안가지네요...
java.net.UnknownHostException: failed to resolve 'DESKTOP-KD56ARJ' after 4 queries
at io.netty.resolver.dns.DnsResolveContext.finishResolve(DnsResolveContext.java:1013) ~[netty-resolver-dns-4.1.63.Final.jar:4.1.63.Final]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
|_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
|_ checkpoint ⇢ HTTP GET "/first-service/welcome" [ExceptionHandlingWebHandler]
Stack trace:
ㅇ무엇이 문제일까요? ㅠ,ㅠ
답변 1
2
안녕하세요, 이도원입니다.
Eureka 대시보드에 보여지는 Instance ID는 사용자가 지정하지 않으면, IP address를 보여주게 됩니다. 질문하신 내용처럼 DESKTOP-KD56ARJ 은 사용하고 계시는 컴퓨터의 Hostname이 보여진 것 같습니다. 우선, instance-id의 설정을 삭제해 보시고, 어떤 값으로 Eureka 대시보드에 출력되는지 확인해 보시기 바랍니다.
다음으로, Hostname 또는 IP address를 변경하기 위해서는 다음의 설정을 사용하실 수 있습니다.
server.address=1.1.1.1
server.port=8080
#configuration to set the ip of host instead of the default localhost
eureka.instance.prefer-ip-address=true
eureka.instance.ip-address=${server.address}
eureka.instance.instance-id=${server.address}:${server.port}
java.net.UnknownHostException
위와 같은 Exception은 사용하고 계시는 컴퓨터의 Host 정보에 DESKTOP-KD56ARJ이 저장되지 않아서 그렇것 같습니다. 즉, DESKTOP-KD56ARJ 호스트 이름으로 정보를 요청했을 때, 사용하시는 컴퓨터가 응답해야 하는데, 그러한 정보를 시스템의 Host 파일에 설정하지 않았기 때문입니다. 정보 요청은 http://localhost 또는 http://127.0.0.1 또는 http://[컴퓨터의 IP ADDRESS]로 하셔도 실행 됩니다.
감사합니다.
저도 동일 현상이었어서 공유 드립니다.
api-gateway 와 서비스에 아래와 같이 추가하니 호출 성공하였습니다.