前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring cloud ribbon与提供者不在同一台服务器访问失败的问题

spring cloud ribbon与提供者不在同一台服务器访问失败的问题

作者头像
算法之名
发布2019-08-20 10:54:34
4770
发布2019-08-20 10:54:34
举报
文章被收录于专栏:算法之名算法之名

最近这两天一直有一个问题很困惑,那就是ribbon跟提供者以及eureka在同一台服务器的时候访问一切正常,而把ribbon放到其他服务器的时候,虽然同样注册进了eureka,但是却始终访问失败的问题。

这个时候提供者的资源文件如下

代码语言:javascript
复制
spring.application.name=hello-service
代码语言:javascript
复制
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

eureka的注册信息如下

经过思索,我发现其实是http://HELLO-SERVICE/hello解析不了,因为注册进去的其实只有主机名,也就是说只有相同主机才能解析。所以提供者的资源文件修改如下

代码语言:javascript
复制
spring.application.name=hello-service
代码语言:javascript
复制
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka
代码语言:javascript
复制
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
代码语言:javascript
复制
eureka.instance.prefer-ip-address=true
代码语言:javascript
复制
eureka.instance.hostname= ${spring.cloud.client.ipAddress}

此时eureka的注册信息如下

因为hello-service已经转换成了ip地址,此时用其他服务器注册的ribbon再来访问该提供者时已经一切正常。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档