@bug小記
搭建微服務專案過程。
在專案中新建立的微服務模組沒有在nacos註冊中心進行註冊。
使用的springboot 和springcloud版本
//springboot
org.springframework.boot<
/groupid>
spring-boot-starter-parent<
/artifactid>
2.3.4
.release<
/version>
>
<
!-- lookup parent from repository --
>
<
/parent>
//springcloud
hoxton.sr8<
/spring-cloud.version>
1、先確定以nacos作為服務註冊中心的微服務開發步驟:
①注入依賴,並配置好nacos版本
com.alibaba.cloud<
/groupid>
spring-cloud-starter-alibaba-nacos-discovery<
/artifactid>
2.2.3
.release<
/version>
<
/dependency>
②在配置檔案中對服務註冊位址進行配置,還得配置埠和註冊到註冊中心的服務名
#服務埠
server.port=
9000
#服務名
#服務註冊位址
spring.cloud.nacos.server-addr=
127.0
.0.1
:8848
③開啟微服務註冊功能,讓服務中心能夠掃瞄到這個服務,
//在啟動類上新增這個註解
@enablediscoveryclient
2、排錯過程:
①檢視執行日誌,發現執行沒有報錯,配置檔案也掃瞄進去了,但是沒有出現執行埠和提示到註冊中心註冊等的資訊。
經過排查,確定是有對nacos伺服器位址和埠進行配置,也有在啟動類上新增註解
②會不會是nacos版本跟springboot或者springcloud版本不相容導致的。於是使用了以前做過的專案的三個框架的版本試了一下,還是不行
③新建了乙個閘道器服務,用的是一樣的版本,就多了乙個閘道器的依賴,結果註冊成功。注釋掉閘道器的依賴後又不能用,這就有點離譜了啊,頭皮發麻。
後面在進行了多次刪專案重新建專案的基礎上,我突然發現啟動的專案連埠號都沒有會不會是註冊的微服務必須是乙個web專案,然後我就把web的啟動器的依賴給注入了,結果重新一啟動竟然可以。這個問題困擾了我一天,結果竟然是依賴沒導全,以前只知道是代表這個服務是乙個web應用,包含了springmvc的開發所需jar包。
<
!--支援web全棧式開發,內建tomcat和springmvc的開發所需,同時依賴了springboot的啟動器--
>
org.springframework.boot<
/groupid>
spring-boot-starter-web<
/artifactid>
<
/dependency>
微服務 四 服務發現 Nacos
在講服務發現之前需要先普及兩個名詞的概念 有部分人更習慣將服務提供者稱為服務端,服務消費者為客戶端。官網文件 什麼是nacos?官網文件已經解釋的很清楚了,簡單來講,nacos是乙個服務發現元件,也是配置伺服器,主要是幫我們解決了兩個問題 服務發現 解決service a怎麼發現service b的...
nacos微服務註冊和feign微服務呼叫
在0.7版本之前,在單機模式時nacos使用嵌入式資料庫實現資料的儲存,不方便觀察資料儲存的基本情況。0.7版本增加了支援mysql資料來源能力,具體的操作步驟 spring.datasource.platform mysql db.num 1 db.url.0 jdbc mysql db.user...
Nacos 微服務配置中心介紹
三 nacos基礎 四 一些思考 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img zmcpjvtb 1585720730083 nacos是阿里開源的乙個微服務配置中心,其官方宣傳 乙個更易於構建雲原生應用的動態服務發現 配置管理和服務管理平台。目前是github的乙個明星專案,...