spring cloud zuul重要引數的設定

2021-10-07 03:35:02 字數 1572 閱讀 1223

zuul呼叫http服務,使用的預設的http客戶端物件是apache的httpclient,代替了之前使用的ribbon的restclient。如果需要使用restclient,或者是okhttp3.okhttpclient,需要設定ribbon.restclient.enabled=true,亦或是ribbon.okhttp.enabled=true

在配置檔案使用「sensitiveheaders」 屬性進行設定,實現不讓head頭中的敏感資訊隨著http請求的**而洩露,就需要在路由配置中設定乙個忽略head資訊的清單。

如果我們在spring boot工程中使用了@enablezuulproxy註解開啟zuul,則我們就可以有兩個服務節點可以使用:

● routes

● filters

1、routes管理節點

zuul使用actuator(spring boot中用於健康檢查、審計、統計和監控的元件)提供了乙個「/routes」的get服務,用來展示我們所有的路由對映列表。

修改一下之前的zuul工程,使用「management.endpoints.web.exposure.include」將所有的服務端點服務全部暴露出來:

#設定檢視指標

2、/filters管理節點通過「/filters」服務,我們可以檢視目前zuul配置的所有過濾器。

進行訪問,不成功,懷疑是jar包有問題。

1、strangulation模式

strangulation模式被稱為「絞殺者模式」,其意思就是「扼殺」舊的端點,慢慢地用不同的新端點服務來替換它們。該模式多用於單體架構的服務改造成微服務,此時我們可以使用「絞殺者模式」慢慢將其轉化為微服務架構。這裡我們不進行詳細的**,感興趣的同學可以看一下martin fowler寫的有關該模式的英文文章原文:

2、本地**

一般zuul設定的都是下游服務的路由**,當然我們也可以設定本地的**,在路由引數的url中,字首加上「forward:」,然後加上本地的真實路徑,就可以實現本地服務**,例如以下配置(官方示例):

springcloud zuul 路由配置

自定義微服務的訪問路徑 配置zuul.routes.指定微服務的serviceid 指定路徑即可。例如 zuul routes microservice provider user user 這樣設定,microservice provider user微服務就會被對映到 user 路徑。忽略指定微...

Spring Cloud zuul 負載均衡

eureka的pom檔案 org.springframework.cloud spring cloud starter eureka server org.springframework.boot spring boot starter security org.springframework.bo...

Spring Cloud Zuul許可權整合

由於zuul對請求 全程的可控性,我們可以在 requestcontext的基礎上做任何事情,設定乙個執行順序靠前的filter,就可專門 用於對請求特定內容做許可權認證。這種方式的優點是實現靈活度高,可整合已有許可權 系統,對原始系統微服務化特別友好 缺點是需要開發 一套新的邏輯,維護增加成本,而...