ECSspring

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

2017-06-01  本文已影响664人  Lin_XJ

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

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添加一个依赖

<dependency>
  <groupId>de.ixilon</groupId>
  <artifactId>aws-aware-eureka-instance</artifactId>
  <version>1.0.0</version>
</dependency>
运行结果

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

image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读