兩天學會微服務網關Gateway-Gateway簡介

鋒哥原創的微服務網關Gateway視頻教程:

Gateway微服務網關視頻教程(無廢話版)_嗶哩嗶哩_bilibiliGateway微服務網關視頻教程(無廢話版)共計17條視頻,包括:1_Gateway簡介、2_Gateway工作原理、3_Gateway HelloWorld快速入門等,UP主更多精彩視頻,請關注UP賬號。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1oX4y1u7ZJ/

1.1 API網關介紹

網關的角色是作為一個 API 架構,用來保護、增強和控制對于 API 服務的訪問。

API 網關是一個處于應用程序或服務(提供 REST API 接口服務)之前的系統,用來管理授權、訪問控制和流量限制等,這樣 REST API 接口服務就被 API 網關保護起來,對所有的調用者透明。因此,隱藏在 API 網關后面的業務系統就可以專注于創建和管理服務,而不用去處理這些策略性的基礎設施。

在微服務架構里,服務的粒度被進一步細分,各個業務服務可以被獨立的設計、開發、測試、部署和管理。這時,各個獨立部署單元可以用不同的開發測試團隊維護,可以使用不同的編程語言和技術平臺進行設計,這就要求必須使用一種語言和平 臺無關的服務協議作為各個單元間的通訊方式。

1.2 API網關作用

1.3 API網關開源實現

用于實現API網關的技術有很多,大致分為這么幾類:

通用反向代理:Nginx、Haproxy、…… 網絡編程框架:Netty、Servlet、…… API網關框架:Spring Cloud Gateway、Zuul、Zuul2、……

1.4 Gateway網關介紹

https://spring.io/projects/spring-cloud-gateway

Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技術開發的網關,Spring Cloud Gateway旨在為微服務架構提供一種簡單而有效的統一的API路由管理方式。Spring Cloud Gateway作為Spring Cloud生態系中的網關,目標是替代ZUUL,其不僅提供統一的路由方式,并且基于Filter鏈的方式提供了網關基本的功能,例如:安全,監控/埋點,和限流等。

spring Cloud Gateway 可以看做是一個 Zuul 1.x 的升級版和代替品,比 Zuul 2 更早的使用 Netty 實現異步 IO,從而實現了一個簡單、比 Zuul 1.x 更高效的、與 Spring Cloud 緊密配合的 API 網關。 Spring Cloud Gateway 里明確的區分了 Router 和 Filter,并且一個很大的特點是內置了非常多的開箱即用功能,并且都可以通過 SpringBoot 配置或者手工編碼鏈式調用來使用。 比如內置了 10 種 Router,使得我們可以直接配置一下就可以隨心所欲的根據 Header、或者 Path、或者 Host、或者 Query 來做路由。 比如區分了一般的 Filter 和全局 Filter,內置了 20 種 Filter 和 9 種全局 Filter,也都可以直接用。當然自定義 Filter 也非常方便。

gateway特性:

  • 基于SpringFramework5,ProjectReactor和SpringBoot2.0進行構建

  • 能夠匹配任何任何請求屬性

  • 可以對路由指定Predicates和Filters

  • 集成斷路器

  • 集成Spring Cloud服務發現

  • 易于編寫的Predicates和Filters

  • 支持請求限流

  • 支持路徑重寫

官網文檔:

https://docs.spring.io/spring-cloud-gateway/docs/2.2.7.RELEASE/reference/html/

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

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

相關文章

使用.NET開發VSTO工具快速將PPT導出為圖片

本文主要介紹如何使用.NET開發 PowerPoint VSTO 外接程序,并實現快速的將當前頁PPT導出為圖片的功能。可以幫助你了解如何使用 VSTO 開發 Office 外接程序,以及如何操作 PowerPoint 的對象模型。 1. 背景 在日常的文章寫作中,我經常使用 PPT…

Vue 3 中的 watchEffect 和 watch 有什么區別?

Vue 3 中的 watchEffect 和 watch 有什么區別? Vue 3 引入了 Composition API,為開發者提供了更加靈活和組織化的方式來組合和復用代碼邏輯。在響應式系統中,watch 和 watchEffect 是兩個重要的函數,用于觀察和響應 Vue 組件中狀…

JUC并發編程 深入學習Java并發編程【上】

JUC并發編程,深入學習Java并發編程,與視頻每一P對應,全系列6w字。 P1-5 為什么學特色預備知識 進程線程概念 進程: 一個程序被運行,從磁盤加載這個程序的代碼到內存,就開起了一個進程。 進程可以視為程…

JVM相關問題

JVM相關問題 一、Java繼承時父子類的初始化順序是怎樣的?二、JVM類加載的雙親委派模型?三、JDK為什么要設計雙親委派模型,有什么好處?四、可以打破JVM雙親委派模型嗎?如何打破JVM雙親委派模型?五、什么是內…

Spring Cloud Gateway-系統保護Sentinel集成

文章目錄 Sentinel介紹Spring Cloud Gateway集成Sentinelpom依賴Sentinel配置Sentinel集成Nacos作為數據源自定義降級響應 Sentinel介紹 ? 隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 是面向分布式、多語言異構化服務架構的流量治理組件&a…

HTML5:七天學會基礎動畫網頁6

CSS3自定義字體 ①:首先需要下載所需字體 ②:把下載字體文件放入 font文件夾里,建議font文件夾與 css 和 image文件夾平級 ③:引入字體,可直接在html文件里用font-face引入字體,分別是字體名字和路徑 例…

Django官網項目

項目準備 使用VSCODE做IDE。 檢查Python版本。 sudo apt install sudo apt update python3 --version創建項目路徑,創建虛擬環境,創建項目 路徑 \mysite 進入路徑,運行VSCODE 運行 "code ." 創建虛擬環境。 選擇 >python: c…

【推薦算法系列十七】:GBDT+LR 排序算法

排序算法經典中的經典 參考 推薦系統之GBDTLR 極客時間 手把手帶你搭建推薦系統 課程 邏輯回歸(LR)模型 邏輯回歸(LR,Logistic Regression)是一種傳統機器學習分類模型,也是一種比較重要的非線性回歸模型&#xff…

AAAI2024-分享若干篇有代碼的優秀論文-圖神經網絡、時間序列預測、知識圖譜、大模型等

圖神經網絡、大模型優化方向系列文章目錄 為了方便大家根據自己的興趣查看自己的研究方向論文,在這里進行了細分。如果有對其中的論文感興趣的,可以查看對應的文章在論文相應的代碼,方便快速上手學習,也可以借助這些代碼的學習快…

16 Educational Codeforces Round 142 (Rated for Div. 2)C. Min Max Sort(遞歸、思維、dp)

C. Min Max Sort 很不錯的一道題目,不過腦電波和出題人每對上, q w q 。 qwq。 qwq。 正難則反。 我們考慮最后一步是怎么操作的。 最后一步一定是對 1 1 1和 n n n進行操作 那么上一步呢? 上一步應該是對 2 2 2和 n ? 1 n-1 n?1 以此類推…

AMD“高級洞察”系列揭示Epyc Naples和Rome原型CPU早期無法啟動問題

AMD在其新的YouTube視頻系列《高級洞察》第一集中,由AMD首席技術官Mark Papermaster擔任主持人,討論了AMD在數據中心領域的突破性進展及其持續增長。然而,AMD在服務器業務的發展并非一帆風順,兩位高管公開討論了早期Epyc Naples和…

【Python】環境管理怎么選擇【virtualenv】【pipenv】【 poetry】【 conda】

前言 剛入門Python,看到PyCharm的環境管理選擇有好幾個選擇,分別是virtualenv、pipenv、venv、conda,只知道這些都可以用來管理Python環境的,但不知道這些環境有什么區別,所以,本文將對這些環境管理進行總…

Avalonia學習(二十九)-儀表

Avalonia制作儀表盤&#xff0c;把控件給大家演示一下&#xff0c;Avalonia有三類自定義控件&#xff0c;分別是用戶控件、模版控件、自主控件。前面已經很多用戶控件了&#xff0c;這個是演示模版控件&#xff0c;另外一種不知道哪種情況下使用。 前端代碼&#xff1a; <…

想從事數據方向職場小白看過來, 數據方面的一些英文解釋

想從事數據方向職場小白看過來&#xff0c;一些英文名詞解釋 文章目錄 想從事數據方向職場小白看過來&#xff0c;一些英文名詞解釋 英文類解釋NoSQL&#xff1a;ESB&#xff1a;ACID &#xff1a;Data Vault&#xff1a;MDM&#xff1a;OLAP&#xff1a;SCD:SBA&#xff1a;MP…

【Django】執行查詢——比較、刪除、復制、批量修改對象

以下述模型為基礎&#xff0c;討論檢索對象的方式方法&#xff1a; from datetime import datefrom django.db import modelsclass Blog(models.Model):name models.CharField(max_length100)tagline models.TextField()def __str__(self):return self.nameclass Author(mod…

【vue】v-if、v-show、v-for 相關所有面試題總結

v-if 和 v-show 的區別 兩個重點【dom】和【生命周期】 v-if 惰性指令&#xff0c;false 不會被編譯、渲染不會存在 DOM 中切換開銷大&#xff0c;需要重新創建元素值變化&#xff0c;使用 v-if 的組件生命周期執行順序 true 變為 false【組件的銷毀】 beforeDestroy / befor…

[Flutter]shared_preferences基本用法以及可視化管理存儲的key和value類型

shared_preferences 是一個Flutter插件&#xff0c;它提供了一種簡單的方式來在應用程序中存儲和獲取持久化的鍵值對數據。它可以用于存儲應用程序的配置信息、用戶偏好設置、登錄狀態等。 使用 shared_preferences 插件&#xff0c;你可以在應用程序中輕松地保存和讀取數據&a…

Java中線程相關的知識

創建子線程的三種方式: 1.自定義線程任務類繼承線程類&#xff0c;以便繼承其功能,重寫其run方法(里面寫自己需要實現的功能)&#xff0c;在main方法調用時創建其任務類實例化對象&#xff0c;然后調用對象的start方法(繼承自父類)&#xff0c;即成功創建線程 優點:創建方式簡…

Pandas DataFrame 基本操作實例100個

Pandas 是一個基于NumPy的數據分析模塊&#xff0c;最初由AQR Capital Management于2008年4月開發&#xff0c;并于2009年底開源。Pandas的名稱來源于“Panel Data”&#xff08;面板數據&#xff09;和“Python數據分析”&#xff08;data analysis&#xff09;。這個庫現在由…

來不及了!大學必須完成的四件事!

老師們常說&#xff0c;上大學就輕松了 其實不然 大學不是人生的終點&#xff0c;而是新的起跑線 不是休息站&#xff0c;而是進入社會的最后沖刺跑道 大學生活苦樂參半&#xff0c;成人世界即將來臨 出了校門&#xff0c;你會發現社會復雜多變&#xff0c;需要不斷學習 稍…