【发布时间】:2018-03-19 13:56:37
【问题描述】:
我有 2 个使用 Netflix eureka 构建的微服务。他们使用假客户端进行通信。在我的本地环境中,假装客户端可以正常工作。但在 Predix(云代工厂)环境中,它们无法通信。 Feign 客户端总是给出连接超时错误。发现 feign 客户端尝试使用实例 ip 地址进行连接(我认为 feign 客户端使用内部 ip 地址)。有没有办法解决这个问题,可能是启用容器通信或使用公共 uri
编辑: 我设法通过更改主机名来获取公共网址,如下所示。
eureka:
instance:
hostname: ${vcap.application.uris[0]}
但在 eureka 服务器中它注册为 ${vcap.application.uris[0]}:[random port](如 xxxxxx.run.aws-usw02-pr.ice.predix.io:61142/yyy) 有没有办法删除那个随机端口。
【问题讨论】:
-
您能提供更多信息吗?你在 Predix 中运行 feign 客户端吗?您的其他 2 个微服务在哪里运行?在 Predix 云中运行的微服务不应该被 IP 地址引用,因为 IP 经常变化。
-
@gstroup 抱歉回复延迟。是的,所有微服务和 feign 客户端都在 predix 中运行。我设法解决了 IP 地址问题。 (见编辑后的帖子)。但是应用程序仍然使用随机端口注册。
标签: cloud-foundry netflix-eureka service-discovery netflix-feign predix