柚子快報(bào)激活碼778899分享:Gateway學(xué)習(xí)
柚子快報(bào)激活碼778899分享:Gateway學(xué)習(xí)
文章目錄
Gateway網(wǎng)關(guān)介紹
Spring Cloud Gateway(技術(shù)選型)
實(shí)現(xiàn)案例
斷言詳細(xì)介紹
斷言的使用
動(dòng)態(tài)路由
總結(jié)動(dòng)態(tài)路由:
過(guò)濾器
網(wǎng)關(guān)Gateway跨域的問(wèn)題
Gateway網(wǎng)關(guān)介紹
微服務(wù)網(wǎng)關(guān)是一個(gè)用于管理和監(jiān)控微服務(wù)的入口,用于轉(zhuǎn)發(fā)和路由來(lái)自客戶(hù)端的請(qǐng)求。微服務(wù)網(wǎng)關(guān)可以將來(lái)自客戶(hù)端的請(qǐng)求轉(zhuǎn)發(fā)給后端的多個(gè)微服務(wù),同時(shí)也可以處理跨域、身份驗(yàn)證、限流、緩存、流量控制等一系列與微服務(wù)相關(guān)的功能,從而簡(jiǎn)化了微服務(wù)架構(gòu)的服務(wù)開(kāi)發(fā)的復(fù)雜度。 總結(jié)網(wǎng)關(guān)功能,需求: 集中管理:微服務(wù)很多,接口api也很多,所以通過(guò)網(wǎng)關(guān)為所有的微服務(wù)api接口提供統(tǒng)一管理維護(hù)的功能 安全考慮:為了安全考慮,幾乎絕大部分微服務(wù)都需要認(rèn)證授權(quán),和訪(fǎng)問(wèn)控制,網(wǎng)關(guān)可以提前完成這個(gè)任務(wù),為微服務(wù)提供保障. 流量控制限流:從網(wǎng)關(guān)層面對(duì)入口流量進(jìn)行監(jiān)控管理,一旦超出預(yù)計(jì)的請(qǐng)求數(shù)量,直接限制訪(fǎng)問(wèn),防止后端微服務(wù)宕機(jī).每一個(gè)微服務(wù)也要自行管理流量控制(sentinel)
網(wǎng)關(guān)有多少中落地方案:
Spring Cloud Gateway: Spring Cloud Gateway 是由 Spring Cloud 社區(qū)提供的一種基于 Spring框架的全新微服務(wù)網(wǎng)關(guān)解決方案,它致力于為 Spring Boot 微服務(wù)應(yīng)用提供簡(jiǎn)單、高效、可靠的路由服務(wù)。
Netflix Zuul: Netflix Zuul 是一個(gè)輕量級(jí)的微服務(wù)網(wǎng)關(guān),它能夠?yàn)槲⒎?wù)應(yīng)用提供負(fù)載均衡、路由、過(guò)濾等功能。Zuul 和 Eureka 之間的協(xié)作能夠讓 Zuul 幫助微服務(wù)應(yīng)用自動(dòng)處理負(fù)載均衡和服務(wù)發(fā)現(xiàn)。
Kong: Kong 是一個(gè)企業(yè)級(jí)微服務(wù) API 網(wǎng)關(guān),它能夠幫助開(kāi)發(fā)者輕松創(chuàng)建、部署和管理微服務(wù),同時(shí)提供靈活的路由、負(fù)載均衡、限流、監(jiān)控、安全等功能。
Istio: Istio 是一個(gè)開(kāi)源的服務(wù)網(wǎng)格平臺(tái),它能夠集成多種微服務(wù)網(wǎng)關(guān)、負(fù)載均衡、服務(wù)發(fā)現(xiàn)、流量控制等功能,以實(shí)現(xiàn)微服務(wù)之間的高效通信和流量管理。
Nginx: Nginx 是一個(gè)輕量級(jí)的反向代理和負(fù)載均衡服務(wù)器,它可以充當(dāng)微服務(wù)網(wǎng)關(guān)的角色。通過(guò)Nginx 提供的路由和負(fù)載均衡功能,開(kāi)發(fā)者可以為微服務(wù)提供一種快速、可靠的訪(fǎng)問(wèn)方式。
Spring Cloud Gateway(技術(shù)選型)
SSM框架有什么優(yōu)勢(shì): 開(kāi)源 熱度高 使用方便 springboot簡(jiǎn)化配置 缺點(diǎn)簡(jiǎn)化配置 封裝了原理和底層邏輯.難以學(xué)透.一切技術(shù)選型都來(lái)自: 需求.
技術(shù)棧更加完善。 Spring Cloud Gateway 是基于 Spring Boot 和 Spring Cloud 構(gòu)建的微服務(wù)網(wǎng)關(guān),和 Spring CloudAlibaba 等一些組件相結(jié)合可以構(gòu)建完整的微服務(wù)架構(gòu)體系。同時(shí),它還支持集成 Spring CloudConfig、Spring Security、Spring Cloud Sleuth 和 Spring Cloud Stream 等組件,為微服務(wù)應(yīng)用提供更加全面的技術(shù)支持。
高性能。 Spring Cloud Gateway 整合了 Reactor 和 Netty 技術(shù),提供了高效的異步轉(zhuǎn)發(fā)能力,支持 WebFlux 進(jìn)行非阻塞式處理,避免了潛在的 I/O 瓶頸,提高了請(qǐng)求響應(yīng)效率。
易于擴(kuò)展和定制。 Spring cloud Gateway內(nèi)置了很多現(xiàn)成的路由,負(fù)載均衡,過(guò)濾器的配置邏輯,易于上手使用。 同時(shí)提供擴(kuò)展的接口,和非常簡(jiǎn)便的整合的配置方式,提供多種不同過(guò)濾器供開(kāi)發(fā)者選擇和使用。
實(shí)現(xiàn)案例
1.創(chuàng)建網(wǎng)關(guān)工程(maven新項(xiàng)目) 2.提供依賴(lài)資源 starter-web: web應(yīng)用開(kāi)發(fā),但是沒(méi)有使用其中攜帶的tomcat默認(rèn)web容器 gateway: 網(wǎng)關(guān)核心依賴(lài) loadbalancer: 網(wǎng)關(guān)默認(rèn)的負(fù)載均衡組件 nacos-discovery: 后續(xù)案例中整合nacos實(shí)現(xiàn)服務(wù)調(diào)用的負(fù)載均衡,發(fā)現(xiàn)服務(wù)作用
3.啟動(dòng)類(lèi)(常規(guī)啟動(dòng)類(lèi)) 4.yaml配置(包含gateway相關(guān)配置,實(shí)現(xiàn)轉(zhuǎn)發(fā)的功能)
server:
port: 8099
spring:
application:
name: csmall-gateway
#由于gateway底層不是tomcat 和mvc有沖突的
main:
web-application-type: reactive
#配置cloud gateway 邏輯,實(shí)現(xiàn)轉(zhuǎn)發(fā)需求
cloud:
nacos:
#nacos中注冊(cè)發(fā)現(xiàn)的功能
discovery:
#填寫(xiě)nacos的服務(wù)端地址
server-addr: localhost:8848
#命名空間
namespace
柚子快報(bào)激活碼778899分享:Gateway學(xué)習(xí)
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。