SpringCloud超詳細講解微服務網關Zuul基礎
一、Zuul的簡介
1、Zuul是怎么工作的
Zull包含了對請求的路由(用來跳轉的)和過濾兩個最主要功能:
其中路由功能負責將外部請求轉發(fā)到具體的微服務實例上,是實現外部訪問統一入口的基礎,而過濾器功能則負責對請求的處理過程進行干預,是實現請求校驗,服務聚合等功能的基礎。Zuul和Eureka進行整合,將Zuul自身注冊為Eureka服務治理下的應用,同時從Eureka中獲得其他服務的消息,也即以后的訪問微服務都是通過Zuul跳轉后獲得。
注意:Zuul 服務最終還是會注冊進 Eureka
提供:代理 + 路由 + 過濾 三大功能!
2、Zuul能干嘛
- 路由
- 過濾
- (摘抄自遇見狂神說)
二、Zuul的使用
1、配置Pom.xml
新建一個module:springcloud-zuul-9050,需要引入Zuul的依賴
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.you</groupId> <artifactId>springcloud-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--引入Eureka的依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</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> <!--引入DashBorder--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</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> <!--引入zuul依賴--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> <version>1.4.6.RELEASE</version> </dependency> </dependencies>
2、配置Application.yml
需要配置端口,自己的名字,Eureka以及Zuul
server:
port: 9050spring:
application:
name: springcloud-zuul
eureka:
client:
service-url:
defaultZone: http://localhost:7001/eureka/
instance:
instance-id: zuul-9050
prefer-ip-address: true #隱藏ip地址info: #autuator監(jiān)控信息
app.name: rainhey-springcloud
company.name: www.rainhey.com#Zuul配置
Zuul:
routes:
mydept.serviceId: springcloud-provider-dept # 用到服務的名字
mydept.path: /mydept/** # 改成的名字
ignored-services: springcloud-provider-dept #禁止用這個訪問
prefix: /you # 前綴
3、撰寫啟動類
寫一個啟動類ZuulApplicaiton_9050,同時加上一句@EnableZuulProxy
package com.you; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy public class ZuulApplicaiton_9050 { public static void main(String[] args) { SpringApplication.run(ZuulApplicaiton_9050.class,args); } }
4、效果圖
啟動DeptApplication_Hystrix_8001、springcloud-eureka-7001、springcloud-zuul-9050。訪問端口7001,可以看到兩個服務都注冊進來了。
訪問8011的get請求,也可以拿到數據
訪問9050的Zuul也可以成功訪問
使用Zuul修改服務名后,我們可以用自己設置的地址去訪問服務
Zuul:
routes:
mydept.serviceId: springcloud-provider-dept
mydept.path: /mydept/**
但是此刻用原服務的名字也是可以訪問的
Zuul支持禁止某個名字訪問??梢酝ㄟ^ignored-services: 服務名來設置
Zuul:
routes:
mydept.serviceId: springcloud-provider-dept
mydept.path: /mydept/**
# 下面這個是我們此時需要的
ignored-services: springcloud-provider-dept #禁止用這個訪問
#ignored-services: "*" #隱藏全部的服務,也就是原服務名不可訪問
修改后的地址是可以訪問的
用原服務名進行訪問,則顯示找不到
三、學會SpringCloud的感觸
其實學到一半就想要放棄了,很多基礎的知識聽不懂。很多人說狂神講的不好,但我自己跟著學、跟著打、跟著寫博客,還是收獲不菲!現在我要重新學習基礎的JavaWeb了,框架的學習很快,一個星期入門足夠了,但是基礎的學習,卻是不易。抓住本質,好好利用時間,好好珍惜自己的青春!
到此這篇關于SpringCloud超詳細講解微服務網關Zuul基礎的文章就介紹到這了,更多相關SpringCloud Zuul內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java項目怎么集成stable diffusion圖文生成算法
在開發(fā)Java項目過程中,我們經常需要使用消息傳遞來實現不同組件之間的通信,Stable Diffusion是一種基于消息傳遞的實時通信解決方案,使用Java調用外部服務(如Python腳本或API服務),這些服務運行Stable Diffusion模型,本文將介紹如何將Stable Diffusion集成到Java項目2024-07-07httpclient模擬post請求json封裝表單數據的實現方法
下面小編就為大家?guī)硪黄猦ttpclient模擬post請求json封裝表單數據的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12SpringBoot2.0整合Shiro框架實現用戶權限管理的示例
這篇文章主要介紹了SpringBoot2.0整合Shiro框架實現用戶權限管理的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08Java Hutool 包工具類推薦 ExcelUtil詳解
這篇文章主要介紹了Java Hutool 包工具類推薦 ExcelUtil詳解,需要引入hutool包,版本號可根據實際情況更換,除hutool包之外,還需要引入操作Excel必要包,本文給大家介紹的非常詳細,需要的朋友可以參考下2022-09-09