javascript
Zull路由网关---SpringCloud
Zull路由網關
概述
什么是zuul?
Zull包含了對請求的路由(用來跳轉的)和過濾兩個最主要功能:
其中路由功能負責將外部請求轉發到具體的微服務實例上,是實現外部訪問統一入口的基礎,而過濾器功能則負責對請求的處理過程進行干預,是實現請求校驗,服務聚合等功能的基礎。Zuul和Eureka進行整合,將Zuul自身注冊為Eureka服務治理下的應用,同時從Eureka中獲得其他服務的消息,也即以后的訪問微服務都是通過Zuul跳轉后獲得。
注意:Zuul 服務最終還是會注冊進 Eureka
提供:代理 + 路由 + 過濾 三大功能!
Zuul 能干嘛?
- 路由
- 過濾
官方文檔:https://github.com/Netflix/zuul/
入門案例
新建springcloud-zuul模塊,并導入依賴
<dependencies><!--導入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 #微服務名稱# 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: 河南科技大學西苑校區 # 公司名稱# zull 路由網關配置 zuul:# 路由相關配置# 原來訪問路由 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注冊中心的服務提供方路由名稱mydept.path: /mydept/** # 將eureka注冊中心的服務提供方路由名稱 改為自定義路由名稱# 不能再使用這個路徑訪問了,*: 忽略,隱藏全部的服務名稱~ignored-services: "*"# 設置公共的前綴prefix: /haust主啟動類
/*** @Auther: csp1999* @Date: 2020/05/20/20:53* @Description: Zull路由網關主啟動類*/ @SpringBootApplication @EnableZuulProxy // 開啟Zuul public class ZuulApplication_9527 {public static void main(String[] args) {SpringApplication.run(ZuulApplication_9527.class,args);} }測試:
可以看出Zull路由網關被注冊到Eureka注冊中心中了!
上圖是沒有經過Zull路由網關配置時,服務接口訪問的路由,可以看出直接用微服務(服務提供方)名稱去訪問,這樣不安全,不能將微服務名稱暴露!
所以經過Zull路由網關配置后,訪問的路由為:
我們看到,微服務名稱被替換并隱藏,換成了我們自定義的微服務名稱mydept,同時加上了前綴haust,這樣就做到了對路由fan訪問的加密處理!
詳情參考springcloud中文社區zuul組件 :https://www.springcloud.cc/spring-cloud-greenwich.html#_router_and_filter_zuul
總結
以上是生活随笔為你收集整理的Zull路由网关---SpringCloud的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何实现多台电脑共享打印机如何使多台电脑
- 下一篇: 诺基亚手机n9(诺基亚手机n93i)