使用springcloud開發測試問題總結

2021-08-13 19:01:42 字數 2378 閱讀 1821

如下描述的問題,沒有指明是linux部署的,都是在

windows

開發環境上部署驗證發現的。

問題描述:

配置客戶端使用配置中心是需要下面兩步

1)在pom檔案加

spring-cloud-starter-config依賴

2)在配置檔案中加spring.cloud.config配置語句。

把第二步的配置語句去掉,不去掉第一步的依賴,配置客戶端微服務啟動還是會使用配置中心,而且是使用預設的localhost:8888去連線配置中心。如果本地木有啟動

8888

埠的配置中心服務,那該微服務啟動就會報錯。

解決方法:

如果不使用配置中心的服務,必須將兩步配置同時刪除。

ps:

springcloud中好多擴充套件應用也有類似的問題,比如不想使用服務發現,那就需要把服務發現的所有配置都移除,否則也是有問題的。

問題描述:

使用${}動態獲取配置檔案中的字段,如

如果啟動了多個該應用的例項物件,且都註冊到了註冊中心,就會引起${}木有真正獲取到資料,或者混亂。

在測試自定義負載均衡的時候,使用這種方式配置ribbonclient的

name

,發現自定義負載策略不生效,直接指定成應用名的實際字串,可以生效。

解決方法:

如果本地要啟動同乙個應用的多個例項的時候,可以將${}直接替換成其代表的字串

問題描述:

在部署了zuul的伺服器上同時部署了要路由的應用,其他伺服器上也同時部署了該路由的應用,就會導致被路由服務的負載均衡混亂。

解決方法:

需要路由的應用不要跟zuul部署在同一臺伺服器上。

問題描述:

伺服器上分別配置了eth0, eth1和

eth2

三塊網絡卡,只有

eth1

的位址可供其它機器訪問,

eth0

和eth2

的 ip

無效。在這種情況下,服務註冊時

eureka client

會自動選擇

eth0

作為服務

ip,

導致其它服務無法呼叫。

有的時候windows上這些網絡卡是裝過

linux

虛擬機器之後,配置網路產生的。但是虛擬機器解除安裝了,這些配置還存在。

解決方法:

windows部署,禁用沒用的網路:

問題描述:

客戶端微服務應用同時使用註冊中心、配置中心場景下,配置客戶端使用如下服務發現方式配置配置中心,註冊語句放到配置中心倉庫上不生效,即不能註冊到註冊中心上。

spring:

cloud:

config:

profile: dev

discovery:

enabled: true

service-id: config-server

解決方法:

使用如下url的方式,但是兩種方式都有問題,具體描述參考

config-client

應用中的

readme.md

spring:

cloud:

config:

uri: $

profile: dev

首先是在consul裡

mysql

依賴用5.1.41版本

mybatis首次驗證用

1.1.1

版本 驗證失敗 報錯:「日誌版本不相容」

後修改為

1.2.4

org.mybatis.spring.boot

mybatis-spring-boot-starter

release

驗證成功

eureka裡整合

mybatis

eureka裡要求更嚴格

spring-boot

整合mybatis

的版本依賴和

spring-boot-starter

依賴是對應相容的

詳細的表

請參照官網

此處由於我們spring-boot-starter用的是

1.4.5

(cm.sr7

預設)查詢得知 mybatis-spring-boot依賴應該是用

1.2.1 版本

要注意以上

使用Spring Cloud進行微服務開發

按照上文中典型的spring cloud架構,我們通過乙個簡單的示例來體驗下spring cloud架構的魅力。1 註冊中心 建立包含eureka server的工程,工程中的pom.xml會自動引入eureka server依賴的包。在 中加入註解,宣告是eureka server服務,enabl...

Spring Cloud開發本地除錯tips

隨著微服務化,服務間的呼叫也會越來越複雜,乙個服務可能要呼叫其他多個服務 如 spring cloud開發的時候要配合測試 或開發環境 環境 eureka註冊中心和 config 但是這時候 不能讓其他同事通過這個 eureka 發現到你的本地機器,不然他們除錯就gg了 還有你可能同時負責多個服務,...

spring cloud 使用Hytrix熔斷器

一 和ribbon一起使用 1.在eyreka的客戶端加入依賴 org.springframework.cloud spring cloud starter netflix hystrix 2.1.2.release 在啟動類加上註解 enablehystrix 熔斷器在呼叫服務的介面新增快速失敗執...