總結
Zuul:如果前端、移動端要調用后端系統,統一從Zuul網關進入,由Zuul網關轉發請求給對應的服務
說完了Hystrix,接着給大家說說最后一個組件:Zuul,也就是微服務網關。**這個組件是負責網絡路由的。**不懂網絡路由?行,那我給你說說,如果沒有Zuul的日常工作會怎樣?
假設你后台部署了幾百個服務,現在有個前端兄弟,人家請求是直接從瀏覽器那兒發過來的。打個比方:人家要請求一下庫存服務,你難道還讓人家記着這服務的名字叫做inventory-service?部署在5台機器上?就算人家肯記住這一個,你后台可有幾百個服務的名稱和地址呢?難不成人家請求一個,就得記住一個?你要這樣玩兒,那真是友誼的小船,說翻就翻!
上面這種情況,壓根兒是不現實的。所以一般微服務架構中都必然會設計一個網關在里面,像android、ios、pc前端、微信小程序、H5等等,不用去關心后端有幾百個服務,就知道有一個網關,所有請求都往網關走,網關會根據請求中的一些特征,將請求轉發給后端的各個服務。
而且有一個網關之后,還有很多好處,比如可以做統一的降級、限流、認證授權、安全,等等。
作者:石杉的架構筆記
鏈接:https://juejin.cn/post/6844903705553174541
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
1. 什么是Zuul路由網關?
沒有Zuul之前,訪問不同的微服務,需要給出不同的url (ip地址和端口號)。
有了Zuul后,會將ip地址和端口號進行統一的管理分發。
2. 實戰Zuul路由網關
2.1 導入依賴
新增zuul:
2.2 在application.yml配置
再新增zuul的配置:
原本用service provider的微服務名稱去訪問:
zuul配置后,使用同一的名稱:
2.3 @EnableZuulProxy 在主啟動類開啟Zuul