javascript
Zull路由网关---SpringCloud
Zull路由網(wǎng)關(guān)
概述
什么是zuul?
Zull包含了對請求的路由(用來跳轉(zhuǎn)的)和過濾兩個最主要功能:
其中路由功能負責將外部請求轉(zhuǎn)發(fā)到具體的微服務(wù)實例上,是實現(xiàn)外部訪問統(tǒng)一入口的基礎(chǔ),而過濾器功能則負責對請求的處理過程進行干預(yù),是實現(xiàn)請求校驗,服務(wù)聚合等功能的基礎(chǔ)。Zuul和Eureka進行整合,將Zuul自身注冊為Eureka服務(wù)治理下的應(yīng)用,同時從Eureka中獲得其他服務(wù)的消息,也即以后的訪問微服務(wù)都是通過Zuul跳轉(zhuǎn)后獲得。
注意:Zuul 服務(wù)最終還是會注冊進 Eureka
提供:代理 + 路由 + 過濾 三大功能!
Zuul 能干嘛?
- 路由
- 過濾
官方文檔:https://github.com/Netflix/zuul/
入門案例
新建springcloud-zuul模塊,并導(dǎo)入依賴
<dependencies><!--導(dǎo)入zuul依賴--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zuul</artifactId><version>1.4.6.RELEASE</version></dependency><!--Hystrix依賴--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId><version>1.4.6.RELEASE</version></dependency><!--dashboard依賴--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix-dashboar</artifactId><version>1.4.6.RELEASE</version></dependency><!--Ribbon--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId><version>1.4.6.RELEASE</version></dependency><!--Eureka--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.4.6.RELEASE</version></dependency><!--實體類+web--><dependency><groupId>com.haust</groupId><artifactId>springcloud-api</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--熱部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency> </dependencies>application.yml
server:port: 9527spring:application:name: springcloud-zuul #微服務(wù)名稱# eureka 注冊中心配置 eureka:client:service-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/instance: #實例的idinstance-id: zuul9527.comprefer-ip-address: true # 顯示ipinfo:app.name: haust.springcloud # 項目名稱company.name: 河南科技大學西苑校區(qū) # 公司名稱# zull 路由網(wǎng)關(guān)配置 zuul:# 路由相關(guān)配置# 原來訪問路由 eg:http://www.cspStudy.com:9527/springcloud-provider-dept/dept/get/1# zull路由配置后訪問路由 eg:http://www.cspstudy.com:9527/haust/mydept/dept/get/1routes:mydept.serviceId: springcloud-provider-dept # eureka注冊中心的服務(wù)提供方路由名稱mydept.path: /mydept/** # 將eureka注冊中心的服務(wù)提供方路由名稱 改為自定義路由名稱# 不能再使用這個路徑訪問了,*: 忽略,隱藏全部的服務(wù)名稱~ignored-services: "*"# 設(shè)置公共的前綴prefix: /haust主啟動類
/*** @Auther: csp1999* @Date: 2020/05/20/20:53* @Description: Zull路由網(wǎng)關(guān)主啟動類*/ @SpringBootApplication @EnableZuulProxy // 開啟Zuul public class ZuulApplication_9527 {public static void main(String[] args) {SpringApplication.run(ZuulApplication_9527.class,args);} }測試:
可以看出Zull路由網(wǎng)關(guān)被注冊到Eureka注冊中心中了!
上圖是沒有經(jīng)過Zull路由網(wǎng)關(guān)配置時,服務(wù)接口訪問的路由,可以看出直接用微服務(wù)(服務(wù)提供方)名稱去訪問,這樣不安全,不能將微服務(wù)名稱暴露!
所以經(jīng)過Zull路由網(wǎng)關(guān)配置后,訪問的路由為:
我們看到,微服務(wù)名稱被替換并隱藏,換成了我們自定義的微服務(wù)名稱mydept,同時加上了前綴haust,這樣就做到了對路由fan訪問的加密處理!
詳情參考springcloud中文社區(qū)zuul組件 :https://www.springcloud.cc/spring-cloud-greenwich.html#_router_and_filter_zuul
總結(jié)
以上是生活随笔為你收集整理的Zull路由网关---SpringCloud的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何实现多台电脑共享打印机如何使多台电脑
- 下一篇: SpringCloud Config 分