Spring Cloud 微服务 (遇到的问题汇总)

本篇介绍在微服务实践中踩过的坑,以及解决方法。

Eureka 在docker下服务用ip识别注册的客户端

在Spring Cloud 微服务(四) Docker化中实现Eureka的docker化之后,发现在docker化之后的Eureka注册的Client都是以一个奇怪的hostname注册的(应该是docker的image id),导致服务无法被识别:

image.png
解决方法

在Eureka服务端不用作更改,在Eureka客户端,配置如下信息,其中prefer-ip-address代表在注册的时侯倾向使用ip:

eureka:
  instance:
    prefer-ip-address: true
  client:
    serviceUrl:
      defaultZone: http://**.**.**.**:8761/eureka/

然后在pom.xml添加一个依赖


  de.ixilon
  aws-aware-eureka-instance
  1.0.0

运行结果

运行之后,我们再看Eureka控制页面,发现这里已经使用了aws的Private DNS作为host显示,并且点击这个链接之后跳转到的是该服务的Public IP

image.png
image.png

你可能感兴趣的:(Spring Cloud 微服务 (遇到的问题汇总))