解决 nacos 在 Spring boot admin 中不能监控到新服务注册的问题
2021-03-03 22:04
1256 查看
简介
笔者最近在新公司开始重新架构公司的微服务,在注册中心选择了 nacos,上家公司 Eureka 遇到了一些坑,想尝试 nacos。整个微服务也会以 Mica 作为微服务核心,感兴趣的朋友可以查看码云链接:https://gitee.com/596392912/mica[1] 。
问题
在 nacos 和 Spring boot admin 整合后发现只有在 admin 启动之前的服务才能被监控到。点进去发现 Spring boot admin 是依赖 HeartbeatEvent 事件进行的新服务的注册。
我们可以看到 Eureka 和 Consul 的 Client 都会发送该事件。
Eureka
Consul
解决问题
本考虑自行去实现并提交给官方,
github clone spring-cloud-alibaba到本地发现代码有变动,官方已经实现了该功能。
但是官方尚未发版,所以笔者考虑把相关代码拷贝到自己的项目中。
首先拷贝 NacosWatch
注意此处有报错,可以写死为下面的值或者自定义
properties配置。
/** * watch delay,duration to pull new service from nacos server. */private long watchDelay = 30000;
然后添加 NacosWatch 自动化相关代码:
/**
* NacosWatch 自动配置
*
* @author L.cm
*/
@Configuration
public class NacosWatchAutoConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnProperty(value = "spring.cloud.nacos.discovery.watch.enabled", matchIfMissing = true)
public NacosWatch nacosWatch(NacosDiscoveryProperties nacosDiscoveryProperties) {
return new NacosWatch(nacosDiscoveryProperties);
}
}
重启
Spring boot admin,然后再依次启动其他服务,发现新服务都自动同步了到了
Spring boot admin中,大功告成!
相关文章推荐
- SpringBoot+Springcloud+SpringBootAdmin 服务发现注册与服务监控完美整合
- Spring cloud eureka+Client+Spring boot admin 服务注册监控
- 搭建spring boot admin 微服务健康监控中心(二)----服务注册模式
- SpringBoot Admin 通过eureka 监控服务
- Spring Boot Admin监控服务上下线邮件通知
- Spring Boot2.0之Admin-UI分布式微服务监控中心
- 从实战的角度谈微服务(四):使用Spring Boot Admin监控服务(Spring Boot 2.0,基于 Eureka 的实现)...
- 解决eclipse新建springboot项目不能依赖sprig-parent-boot的问题
- 解决win7下发布的WCF服务出现的Http不能注册的问题,附上我的小工具
- 详解Spring Boot微服务如何集成fescar解决分布式事务问题
- 使用 Spring Boot Admin 来监控你的服务
- 使用spring-boot-admin对spring-boot服务进行监控
- Spring Boot微服务如何集成fescar解决分布式事务问题?
- springboot websocket 解决不能注入bean问题
- 被事务代理的spring service 不能使用注解方式发布dubbo服务的问题解决
- Spring Boot Admin服务监控
- 解决SpringBoot 整合 FreeMaker,不能js,css静态资源的问题
- spring boot(二十)使用spring-boot-admin对服务进行监控
- spring boot 本地图片不能加载(图片路径)的问题及解决方法
- 详解Spring boot Admin 使用eureka监控服务