1. 此篇文章簡介
為了更好對調用的微服務進行路由管理或者權限認證,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
(2)創建註冊中心的啟動類
該啟動類是作為微服務的註冊中心來創建的,具體的代碼如下:
(3)配置註冊中心
在application.yml配置文件中配置註冊中心的相關屬性,具體如下:
核心參數解釋如下:
1)該工程雖然是作為註冊中心來啟動的,但是如果不進行配置約束,它自身會作為客戶端將自己註冊到註冊中心中,這其實是沒必要的,控制的方法是,將如下兩個參數配置為false:
registerWithEureka: false
fetchRegistry: false
(4)創建兩個服務提供者步驟如下:
(4-1)創建服務提供者的基礎工程
1)基於maven創建服務提供者的基礎工程,兩個工程分別命名為:
springcloudeurekaprovider springcloudeurekaprovider2
2)配置pom.xml,核心配置如下:
(4-2)配置服務提供者
在application.yml文件中配置服務提供者的相關參數:
工程springcloudeurekaprovider的配置參數:
工程springcloudeurekaprovider2的配置參數:
將其中的port改為8124即可
(4-3)配置服務提供者
創建一個簡單的rest服務,供測試使用
工程springcloudeurekaprovider的控制器類:
基本和以上代碼一直,就是將代碼裡邊的ereka provider 1 改為ereka provider 2即可
(4-4)創建服務提供者的啟動類
此啟動類就是將該工程的提供的微服務註冊到註冊中心,供客戶端調用。
(5)創建集成zuul的消費者的基礎工程
1)基於maven創建基礎工程,命名為:springcloudzuul
2)配置pom.xml
(6)配置zuul基礎功能的路由規則
補充解釋:zuul routes就是配置的路由規則,以上配置的意思就是:
第一種:/**意思是針對任何訪問都去找服務名字是eurekaprovider的提供者
第二種:/test/**意思是針對路徑以test開頭的都去返回百度的官網。
(7)創建權限認證的過濾器
補充:ZuulFilter是zuul網關的核心組件,集成它之後便可以實現自定義的過濾器
以下自定義過濾器UserInfoFilter的作用是:
在執行路由規則前,對於訪問微服務的請求中用戶名是admin密碼是123456的請求才認為具備方位具體微服務的權限。
(8)創建啟動類,並加載實現的過濾器
ZuulBootApplication:
閱讀更多 牛旦教育IT課堂 的文章