搭建Eureka高可用服务端启动时出现Cannot execute request on any known server

       今天跟着PDF文档和一些博文来搭建Eureka的高可用基础项目,在启动服务端项目时提示该错误: com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
如下图所示:
在这里插入图片描述

(一)解决方法1

       根据笔者所寻找的答案,有一些博主的文章是说修改配置文件的下划线为驼峰形式就行,因为存在SpringBoot版本的问题,如下所示:
在这里插入图片描述
改为:
在这里插入图片描述
即可。

(二)解决方法2

       不过笔者在尝试以上方法发现还是出现这个问题,然后就从配置文件的属性开始查找问题,我根据博文配置的属性,发现把下图的两个属性修改为false就可以正常启动服务端项目:
在这里插入图片描述

(三)后话

       笔者接着测试两个properties文件一起运行,发现第一个启动的项目如果把上面提及的两个属性设置为true,就会出现这个错误,如下图(启动顺序是peer1->peer2)

在这里插入图片描述
       如果反过来启动(启动顺序是peer2->peer1),则正常运行,没有其他的报错,如下所示:
在这里插入图片描述

       于是就查找这两个属性的相关说明,从这篇博文的解释可以看到:
(1)eureka.client.registerWithEureka :表示是否将自己注册到Eureka Server,默认为true。由于当前这个应用就是Eureka Server,故而设为false。
(2)eureka.client.fetchRegistry :表示是否从Eureka Server获取注册信息,默认为true。因为这是一个单点的Eureka Server,不需要同步其他的Eureka Server节点的数据,故而设为false。
       最后笔者结合Cannot execute request on any known server(无法在任何已知服务器上执行请求)这个错误和以上两个属性的含义,猜测该错误可能是由于第一个启动的项目如果是设置为true时,会把自己注册到Eureka Server中,但是此时服务还没有启动,从而导致这个错误。

(四)后续

       经过刚才的测试,我发现我在纠结一个不是问题的问题,实属大惊小怪,哈哈。该问题正确的用法本来就是要设置为true的,只不过我可能有哪一步操作失误,导致访问不了Euraka服务中心的界面。也让我重新认识到服务端的相关配置和操作。
       该文章仅用于记录笔者在学习过程中遇到的问题并且解决,如果存在其他问题或疑问,请各位读者多多指出,大家相互学习,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值