栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringbootAdmin java.util.concurrent.TimeoutException 离线解决办法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringbootAdmin java.util.concurrent.TimeoutException 离线解决办法

简述

系统架构是微服务架构,主要Springboot+Nacos,服务比较多想通过SpringbootAdmin对服务进行监控。测试环境一切正常。

问题描述

在测试环境SpringbootAdmin部署一切正常,所有服务均在线。但部署到正式环境有三个服务始终是灰色下线(离线)状态,日志报错如下:

java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 10000ms in 'map' (and no fallback has been configured)



同样的代码为什么会这样确实有点脑壳疼,排查这个问题就需要知道监控的原理。SpringBootAdmin会默认每隔5秒通过Nacos注册的服务,请求各个服务获取健康数据来监测。

发现有问题的监控通过健康监控的链接访问10秒-20秒才返回健康结果数据,所以问题就在这了。SpringbootAdmin默认情况只要10秒不返回结果就认为超时并将服务状态设置为离线。既然知道了原因问题就好解决了。

解决办法

更新健康检查的默认时间,设置成30秒,加入以下代码:
spring.boot.admin.monitor.default-timeout=30000
1000ms=1s,上述是30s。更改完成后重启监控服务,一切正常。

其它:

至于为什么健康监测链接请求响应慢,没有深入去挖,可能与网络、与数据库连接等均有一定关系,通过网络得知,也有些小伙伴把邮箱警报关闭以及把spring自带的email包去掉引入也能解决,具体我就没试了。

参考:

SpringBootAdmin参数详细介绍

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871235.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号