博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eureka 高可用配置 unavailable-replicas 问题.
阅读量:6605 次
发布时间:2019-06-24

本文共 867 字,大约阅读时间需要 2 分钟。

hot3.png

在使用spring cloud 配置eureka 高可用配置时.发现配置的节点一直无法获取心跳.

eureka控制台界面上一直显示的挂载节点 是 unavailable-replicas

查看日志.就是获取心跳的地址不对.  默认的健康检查HealthCheckUrl  地址是 

http://peer1:8200/actuator/health

而一般的教程或者书上在配置注册中心时基本都用的 

defaultZone: http://peer2:8200/eureka

这就有问题了. 明显地址是加了 /eureka 的上下文的.但是心跳地址没有上下文.. 

 

网上搜了一下,很多人的解决方案就是重新配置HealthCheckUrl 地址成正确地址.

我觉得这种只是在补窟窿. down下路源码看了后.发现了一个eureka的bug..

查看类  org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration  的第122行                 String serverContextPath = this.env.getProperty("server.context-path", "/");

 

而 在构造默认的health地址的时候  DefaultManagementMetadataProvider 类里第26 拼的上下文 就是这个context-path

 

eureka获取的上下文还是用的过时的配置 server.context-path

 

我配置文件里 ,最新spring boot的context配置项应该是 server.servlet.context-path. 不然idea会提示错误.

唉.eureka的源码里写死了. 没有办法...只好再加了一个 过时配置

server.context-path =/eureka

 

问题解决

转载于:https://my.oschina.net/tuoxiemzb/blog/2248614

你可能感兴趣的文章
Kubernetes深入理解
查看>>
Linux(CentOS 6.4)系统中安装mplayer
查看>>
CME上配置IP phone
查看>>
华为HCDP实验指导书
查看>>
PHP设计模式 代理设计模式
查看>>
为什么PreviousPage为null
查看>>
visual studio 下用webpack将js打包到wwwroot目录下
查看>>
"_OBJC_CLASS_$_CALayer", referenced from:
查看>>
谈一谈网络编程学习经验
查看>>
C Primer Plus (第五版) 第十七章 高级数据显示 编程练习
查看>>
若羽の暗时间——每天发现一点Dark Time
查看>>
工厂方法模式
查看>>
MVC 中的Viwe PageModel的思考
查看>>
修改网卡名称
查看>>
Javascript学习笔记总结
查看>>
Exchange2013 SP1通过 EMS导出及导入PST数据文件
查看>>
Java实现字符串中单词对调
查看>>
Verilog中的VCD(值变转储文件)
查看>>
预览 GitHub 项目里的网页或 Demo
查看>>
我的友情链接
查看>>