SpringCloud學習(五):集成zuul實現路由規則管理及權限認證

1. 此篇文章簡介

為了更好對調用的微服務進行路由管理或者權限認證,SpringCloud體系也提供了具體實現方式,通過集成zuul框架,就可以實現以上功能。

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


2. SpringCloud集成zuul實現服務降級的核心步驟簡介

(1)創建註冊中心的基礎工程

(2)創建註冊中心的啟動類

(3)配置註冊中心

(4)創建兩個服務提供者步驟如下:

(4-1)創建服務提供者的基礎工程

(4-2)配置服務提供者(4-3)創建提供者的rest服務(4-4)創建服務提供者的啟動類

(5)創建集成zuul的消費者的基礎工程

(6)配置zuul基礎功能的路由規則

(7)創建權限認證的過濾器

(8)創建啟動類,並加載實現的過濾器

3. 以上8步的詳細解釋:

(1)創建註冊中心的基礎工程

1)基於maven創建基礎工程,命名為:springcloudeurekaserver

2)配置pom.xml

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


(2)創建註冊中心的啟動類

該啟動類是作為微服務的註冊中心來創建的,具體的代碼如下:

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


(3)配置註冊中心

在application.yml配置文件中配置註冊中心的相關屬性,具體如下:

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


核心參數解釋如下:

1)該工程雖然是作為註冊中心來啟動的,但是如果不進行配置約束,它自身會作為客戶端將自己註冊到註冊中心中,這其實是沒必要的,控制的方法是,將如下兩個參數配置為false:

registerWithEureka: false

fetchRegistry: false

(4)創建兩個服務提供者步驟如下:

(4-1)創建服務提供者的基礎工程

1)基於maven創建服務提供者的基礎工程,兩個工程分別命名為:

springcloudeurekaprovider springcloudeurekaprovider2

2)配置pom.xml,核心配置如下:

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


(4-2)配置服務提供者

在application.yml文件中配置服務提供者的相關參數:

工程springcloudeurekaprovider的配置參數:

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


工程springcloudeurekaprovider2的配置參數:

將其中的port改為8124即可

(4-3)配置服務提供者

創建一個簡單的rest服務,供測試使用

工程springcloudeurekaprovider的控制器類:

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


基本和以上代碼一直,就是將代碼裡邊的ereka provider 1 改為ereka provider 2即可

(4-4)創建服務提供者的啟動類

此啟動類就是將該工程的提供的微服務註冊到註冊中心,供客戶端調用。

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


(5)創建集成zuul的消費者的基礎工程

1)基於maven創建基礎工程,命名為:springcloudzuul

2)配置pom.xml

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


(6)配置zuul基礎功能的路由規則

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


補充解釋:zuul routes就是配置的路由規則,以上配置的意思就是:

第一種:/**意思是針對任何訪問都去找服務名字是eurekaprovider的提供者

第二種:/test/**意思是針對路徑以test開頭的都去返回百度的官網。

(7)創建權限認證的過濾器

補充:ZuulFilter是zuul網關的核心組件,集成它之後便可以實現自定義的過濾器

以下自定義過濾器UserInfoFilter的作用是:

在執行路由規則前,對於訪問微服務的請求中用戶名是admin密碼是123456的請求才認為具備方位具體微服務的權限。

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證


(8)創建啟動類,並加載實現的過濾器

ZuulBootApplication:

SpringCloud學習(五):集成zuul實現路由規則管理及權限認證



分享到:


相關文章: