错误如下:
java.net.UnknownHostException: cloud-payment-service
解决办法:
解释:
restTemplate只是类似于httpclient的一种发送rest风格的请求,它是无法识别微服务名称,所以会出现java.net.UnknownHostException错误,而在《spring Cloud 微服务实战》这本书上写道:只有@loadBalance注解修饰的restTemplate才能实现服务名的调用,没有修饰的restTemplate是没有该功能的。原因就是当使用微服务名称的时候,可能有多个服务提供者,restTemplate不知道去调用哪个服务提供者,只有设置负载均衡之后服务消费者才会去访问某个微服务提供者,这个负载均衡的功能我是使用Ribbon提供的,如果你在依赖中没有看到Ribbon,那可能在引入zookeeper、consul、eureka的时候就引入了Ribbon