筆者最近在新公司開始從新架構公司的微服務,在註冊中心選擇了 nacos,上家公司 Eureka 遇到了一些坑,想嘗試 nacos。整個微服務也會以 Mica 做爲微服務核心,感興趣的朋友能夠查看碼雲連接:gitee.com/596392912/m… 。vue
在 nacos 和 Spring boot admin 整合後發現只有在 admin 啓動以前的服務才能被監控到。點進去發現 Spring boot admin 是依賴 HeartbeatEvent 事件進行的新服務的註冊。java
咱們能夠看到 Eureka 和 Consul 的 Client 都會發送該事件。git
本考慮自行去實現並提交給官方,github clone spring-cloud-alibaba
到本地發現代碼有變更,官方已經實現了該功能。
github
可是官方還沒有發版,因此筆者考慮把相關代碼拷貝到本身的項目中。spring
注意此處有報錯,能夠寫死爲下面的值或者自定義 properties
配置。架構
/** * watch delay,duration to pull new service from nacos server. */
private long watchDelay = 30000;
複製代碼
/** * 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
中,大功告成!框架
mica
Spring boot 微服務核心組件集:gitee.com/596392912/m…Avue
一款基於vue可配置化的神奇框架:gitee.com/smallweigit…pig
宇宙最強微服務(架構師必備):gitee.com/log4j/pigSpringBlade
完整的線上解決方案(企業開發必備):gitee.com/smallc/Spri…IJPay
支付SDK讓支付觸手可及:gitee.com/javen205/IJ…掃描上面二維碼,更多精彩內容天天推薦!微服務