在微服务启动之后,调用后台接口报错,如下:
Name or service not known
通过在Eureka控制台查看服务注册情况,发现服务已经注册上来,并且使用了主机名(非Ip)进行了注册。
如下图:
查阅资料得知,这里注册的hostName就是服务器的主机名,因此最简单的方法就是将主机名加入到 /etc/hosts中,这样服务就能解析hostName了。
在spring文档中,对此也有一段描述如何解决主机名的问题。
[https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-eureka-server.html]
通过给每台服务添加主机名,这个问题就得到解决啦
当然还有其他的解决办法,比如让eureka上注册ip 而不是 主机名,设置如下
eureka:
instance:
prefer-ip-address: true
完~