Spring Cloud Netflix學習筆記06-Zuul

文章目錄

  • 概述
    • 什么是Zuul?
    • Zuul 能干嘛?
  • Zuul入門案例
    • pom依賴
    • application.yml
    • 啟動類
    • 隱藏真實路徑


在這里插入圖片描述

概述

什么是Zuul?

Zuul包含了對請求的路由(用來跳轉的)和過濾兩個最主要功能:

  • 其中路由功能負責將外部請求轉發到具體的微服務實例上,是實現外部訪問統一入口的基礎
  • 而過濾器功能則負責對請求的處理過程進行干預,是實現請求校驗,服務聚合等功能的基礎

Zuul和Eureka進行整合,將Zuul自身注冊為Eureka服務治理下的應用,同時從Eureka中獲得其他服務的消息,也即以后的訪問微服務都是通過Zuul跳轉后獲得。
注意:Zuul 服務最終還是會注冊進 Eureka
提供:代理 + 路由 + 過濾 三大功能!

Zuul 能干嘛?

  • 路由
  • 過濾
    官方文檔:https://github.com/Netflix/zuul/

Zuul入門案例

新建springcloud-zuul模塊,并導入依賴

pom依賴

<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: 9527
spring: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 # 顯示ip
info:app.name: qf.springcloud # 項目名稱company.name: 深圳大學 # 公司名稱

啟動類

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;/*** @Auther: qf* @Date: 2025/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);}
}

啟動項目,輸入http://127.0.0.1:9527/test-provider-dept/dept/get/1
訪問可能需要等待

隱藏真實路徑

相關配置

# zull 路由網關配置
zuul:# 路由相關配置routes:mydept.serviceId: test-provider-dept # eureka注冊中心的服務提供方路由名稱mydept.path: /mydept/** # 將eureka注冊中心的服務提供方路由名稱 改為自定義路由名稱
#  ignored-services: springcloud-provider-dept # 忽略指定服務名稱# 不能再使用這個路徑訪問了,*: 忽略,隱藏全部的服務名稱~ignored-services: "*"# 設置公共的前綴prefix: /qfcloud

訪問服務接口
http://127.0.0.1:9527/qfcloud/mydept/dept/get/1


相關文章:
Spring Cloud Netflix學習筆記01
Spring Cloud Netflix學習筆記02-Eureka
Spring Cloud Netflix學習筆記03-Ribbon
Spring Cloud Netflix學習筆記04-Feign
Spring Cloud Netflix學習筆記05-Hystrix
Spring Cloud Netflix學習筆記06-Zuul
Spring Cloud Netflix學習筆記07-Spring Cloud Config

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94002.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94002.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94002.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c# 和 c++ 怎樣結合

c# 和 c 怎樣結合在軟件開發中&#xff0c;C# 和 C 通常用于不同的場景和目的&#xff0c;但有時需要將它們結合使用以充分利用兩種語言的優點。以下是幾種常見的方法來實現 C# 和 C 的結合&#xff1a;1. P/Invoke&#xff08;Platform Invocation Services&#xff09;P/Invo…

開源分布式數據庫(Dgraph)

Dgraph 是一款專為處理復雜關系數據設計的開源分布式圖數據庫&#xff0c;核心目標是提供高性能、高可擴展性的圖數據存儲與查詢能力。其設計融合了原生圖模型與分布式架構&#xff0c;支持 GraphQL 查詢語言&#xff0c;適用于社交網絡、知識圖譜、推薦系統等場景。 一、技術架…

Apache ShenYu和Nacos之間的通信原理

這是一個非常經典的服務注冊發現和動態配置管理的案例。ShenYu 作為網關,需要實時感知后端微服務的上線、下線以及其元數據信息(如 API 接口列表)的變化,同時它自身的配置也可能需要動態調整。Nacos 則作為注冊中心和配置中心,扮演了“服務電話簿”和“動態配置倉庫”的角…

強制重啟導致Ubuntu24.04LTS amd的WIFI無法使用的解決方案

強制重啟導致Ubuntu24.04LTS amd的WIFI無法使用的解決方案 前言 ? 我按下了<ctrl><alt><prtsc>組合鍵&#xff0c;然后按住<ctrl><alt>不放&#xff0c;讓我的死機的圖形化的Ubuntu強制重啟&#xff0c;然后再次打開發現&#xff0c;我的ubu…

Java基礎面試題02

引用&#xff1a;&#xff08;代碼隨想錄的八股轉免費了&#xff09;以下為網址 卡碼筆記 本文為學習以上文章的筆記&#xff0c;如果有時間推薦直接去原網址 Java中的數據類型有哪些&#xff1f;分為哪兩大類&#xff1f; (考點&#xff1a;Java數據類型及其分類) 【簡單】 基…

RabbitMQ:SpringAMQP Fanout Exchange(扇型交換機)

目錄一、案例需求二、基礎配置三、代碼實現扇形交換機也叫做廣播交換機&#xff0c;通過交換機將消息發送給所有的隊列。 生產者源碼 消費者源碼 一、案例需求 在RabbitMQ控制臺中&#xff0c;聲明隊列fanout.queue1和fanout.queue2。在RabbitMQ控制臺中&#xff0c;聲明交換…

深度解析DeepSeek V3.1 :6850 億參數開源模型如何以 71.6% 編碼得分、68 倍成本優勢重構全球 AI 競爭格局

深度解析DeepSeek V3.1 &#xff1a;6850 億參數開源模型如何以 71.6% 編碼得分、68 倍成本優勢重構全球 AI 競爭格局當DeepSeek悄然將其 6850 億參數的 V3.1 模型上傳至 Hugging Face 平臺時&#xff0c;這個看似低調的舉動卻在全球 AI 領域投下了一顆 “深水炸彈”。這款融合…

Java 大視界 -- Java 大數據在智能安防視頻監控系統中的視頻內容理解與智能預警升級(401)

Java 大視界 -- Java 大數據在智能安防視頻監控系統中的視頻內容理解與智能預警升級&#xff08;401&#xff09;引言&#xff1a;正文&#xff1a;一、傳統安防監控的 “三重困局”&#xff1a;看不全、看不懂、反應慢1.1 人工盯屏 “力不從心”1.1.1 攝像頭密度與人力的矛盾1…

ansible playbook 實戰案例roles | 實現基于node_exporter的節點部署

文章目錄一、核心功能描述二、roles內容2.1 文件結構2.2 主配置文件2.3 tasks文件內容2.4 vars文件內容免費個人運維知識庫&#xff0c;歡迎您的訂閱&#xff1a;literator_ray.flowus.cn 一、核心功能描述 這個 Ansible Role 的核心功能是&#xff1a;?自動化部署 Prometheu…

.NET Core MongoDB 查詢數據異常及解決

.NET Core 查詢 MongoDB異常消息Element _class does not match any field or property of class WebApiServer.Model.Enity.Ypxxx.圖中寫的修改實際是查詢分頁出現的異常&#xff0c;異常是查詢轉換為List<T>時出現的&#xff1a; 這個錯誤通常發生在MongoDB文檔中包含的…

政策技術雙輪驅動智慧燈桿市場擴容,塔能科技破解行業痛點

在新型城市基礎設施建設不斷加速&#xff0c;以及“雙碳”戰略持續深化這樣的雙重背景之下&#xff0c;智慧燈桿市場恰恰迎來了政策紅利得以釋放、技術出現迭代突破并且需求在持續升級的極為難得的黃金發展時期。智慧城市建設 的核心承載從國家層面所開展的全域智能化改造規劃&…

JetBrains Mono字體

好的,我們來詳細解析一下 JetBrains Mono 的 8 種主要字體風格(實際上官方提供了 9 種字重,但通常我們討論其核心風格)及其區別。 這些風格的區別主要體現在兩個方面:字重 和 字形。 核心區別:字重 字重就是字體的粗細程度。JetBrains Mono 提供了從細到極粗的多種選擇…

MySQL 分頁查詢:用 LIMIT 高效處理大量數據

MySQL 分頁查詢&#xff1a;用 LIMIT 高效處理大量數據 在實際開發中&#xff0c;當查詢結果包含成百上千條記錄時&#xff0c;一次性展示所有數據會導致加載緩慢、用戶體驗差。分頁查詢能將數據分段展示&#xff0c;既減輕服務器壓力&#xff0c;又方便用戶瀏覽。MySQL 中通過…

GraphQL 與 REST 在微服務架構中的對比與設計實踐

GraphQL 與 REST 在微服務架構中的對比與設計實踐 隨著微服務架構的普及&#xff0c;API 設計已經成為系統性能、可維護性和開發效率的關鍵。REST&#xff08;Representational State Transfer&#xff09;作為傳統的無狀態架構風格&#xff0c;擁有簡單、成熟的生態&#xff1…

WebSocket通信:sockjs與stomp.js的完美搭檔

sockjs 和 stomp.js 是 WebSocket 通信場景中功能互補的兩個庫,它們的結合能解決實際開發中的關鍵問題,因此常被一起使用。 1. 兩者的核心作用與聯系 sockjs:是一個 傳輸層庫,解決的是“如何在各種環境下建立可靠的雙向通信連接”的問題。 WebSocket 協議本身存在兼容性限…

元宇宙的網絡基礎設施:5G 與 6G 的關鍵作用

1 5G 技術對元宇宙的支撐作用1.1 高帶寬保障沉浸式內容傳輸5G 技術的超大帶寬特性為元宇宙的海量數據傳輸提供了基礎支撐。元宇宙中的沉浸式體驗依賴于高清視頻、3D 模型、實時交互數據等大容量內容&#xff0c;普通 4G 網絡的帶寬&#xff08;約 100Mbps&#xff09;難以滿足需…

【39頁PPT】大模型DeepSeek在運維場景中的應用(附下載方式)

篇幅所限&#xff0c;本文只提供部分資料內容&#xff0c;完整資料請看下面鏈接 https://download.csdn.net/download/2501_92808811/91694206 資料解讀&#xff1a;【39頁PPT】大模型DeepSeek在運維場景中的應用 詳細資料請看本解讀文章的最后內容。大模型技術在當下的科技領…

集成電路學習:什么是Template Matching模版匹配

Template Matching:模版匹配 Template Matching(模版匹配)是一種在圖像處理中廣泛使用的技術,主要用于在一幅大圖像中搜尋與給定模板圖像最相似的區域。以下是對模版匹配的詳細介紹: 一、定義與原理 模版匹配是一種最原始、最基本的模式識別方法,它通過比較模板圖…

Python零基礎30天速通(小白定制視頻教程版)

概述 還在為 Python 入門犯難&#xff1f;怕枯燥的代碼讓學習沒動力&#xff1f;別擔心&#xff01;專為零基礎小白打造的 Python 30 天速通課程 重磅登場&#xff5e;視頻資料&#xff1a;https://pan.quark.cn/s/2931af88b68a 這門課從 Python 核心基礎入手 基礎語法全覆蓋&a…

leetcode1004 最大連續1的個數

一、題目描述二、解題思路采用雙指針的方法來解決這個問題。定義變量countzero來記錄窗口內0的數量&#xff0c;當countzero大于k時&#xff0c;窗口收縮&#xff0c;left移動到窗口內第一個0的后面一個位置&#xff0c;將這個彈出來的“翻轉機會”讓給right指向的數&#xff0…