欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Cloud服務(wù)入口Gateway的介紹和使用問(wèn)題小結(jié)

 更新時(shí)間:2025年03月27日 12:04:03   作者:新綠MEHO  
Spring Cloud Gateway是Spring Cloud的?個(gè)全新的API?關(guān)項(xiàng)?, 基于Spring + SpringBoot等技術(shù)開發(fā), ?的是為了替換掉Zuul,這篇文章主要介紹了Spring Cloud服務(wù)入口Gateway的介紹和使用問(wèn)題小結(jié),需要的朋友可以參考下

Gateway

問(wèn)題引入

前?我們通過(guò)Eureka, Nacos解決了服務(wù)注冊(cè), 服務(wù)發(fā)現(xiàn)的問(wèn)題, 使?Spring Cloud LoadBalance解決了負(fù)載均衡的問(wèn)題, 使?OpenFeign解決了遠(yuǎn)程調(diào)?的問(wèn)題.
但是當(dāng)前所有微服務(wù)的接?都是直接對(duì)外暴露的, 可以直接通過(guò)外部訪問(wèn). 為了保證對(duì)外服務(wù)的安全性,服務(wù)端實(shí)現(xiàn)的微服務(wù)接?通常都帶有?定的權(quán)限校驗(yàn)機(jī)制. 由于使?了微服務(wù), 原本?個(gè)應(yīng)?的的多個(gè)模塊拆分成了多個(gè)應(yīng)?, 我們不得不實(shí)現(xiàn)多次校驗(yàn)邏輯. 當(dāng)這套邏輯需要修改時(shí), 我們需要修改多個(gè)應(yīng)?, 加重了開發(fā)?員的負(fù)擔(dān).
針對(duì)以上問(wèn)題, ?個(gè)常?的解決?案是使?API?關(guān).

API網(wǎng)關(guān)

API?關(guān)(簡(jiǎn)稱?關(guān))也是?個(gè)服務(wù), 通常是后端服務(wù)的唯???. 它的定義類似設(shè)計(jì)模式中的Facade模式(門面模式, 也稱外觀模式). 它就類似整個(gè)微服務(wù)架構(gòu)的??, 所有的外部客?端訪問(wèn), 都需要經(jīng)過(guò)它來(lái)進(jìn)?調(diào)度和過(guò)濾.

?關(guān)核心功能:

權(quán)限控制: 作為微服務(wù)的??, 對(duì)??進(jìn)?權(quán)限校驗(yàn), 如果校驗(yàn)失敗則進(jìn)?攔截
動(dòng)態(tài)路由: ?切請(qǐng)求先經(jīng)過(guò)?關(guān), 但?關(guān)不處理業(yè)務(wù), ?是根據(jù)某種規(guī)則, 把請(qǐng)求轉(zhuǎn)發(fā)到某個(gè)微服務(wù)
負(fù)載均衡: 當(dāng)路由的?標(biāo)服務(wù)有多個(gè)時(shí), 還需要做負(fù)載均衡
限流: 請(qǐng)求流量過(guò)?時(shí), 按照?關(guān)中配置微服務(wù)能夠接受的流量進(jìn)?放?, 避免服務(wù)壓?過(guò)?

常見網(wǎng)關(guān)實(shí)現(xiàn)

業(yè)界常?的?關(guān)?式有很多, 技術(shù)?案也較成熟, 其中不乏很多開源產(chǎn)品, ?如Nginx, Kong, Zuul,
Spring Cloud Gateway等. 下?介紹兩種常?的?關(guān)?案.

Zuul

Zuul 是 Netflix 公司開源的?個(gè)API?關(guān)組件, 是Spring Cloud Netflix ?項(xiàng)?的核?組件之?,它可以和 Eureka、Ribbon、Hystrix 等組件配合使?.
在Spring Cloud Finchley正式版之前, Spring Cloud推薦的?關(guān)是Netflix提供的Zuul(此處指Zuul 1.X).然而Netflix在2018年宣布?部分組件進(jìn)?維護(hù)狀態(tài), 不再進(jìn)?新特性的開發(fā). 這部分組件中就包含Zuul. 

Spring Cloud Gateway

Spring Cloud Gateway 是Spring Cloud的?個(gè)全新的API?關(guān)項(xiàng)?, 基于Spring + SpringBoot等技術(shù)開發(fā), ?的是為了替換掉Zuul. 旨在為微服務(wù)架構(gòu)提供?種簡(jiǎn)單?有效的途徑來(lái)轉(zhuǎn)發(fā)請(qǐng)求, 并為他們提供橫切關(guān)注點(diǎn), ?如: 安全性, 監(jiān)控/指標(biāo)和彈性.
在性能??, 根據(jù)官?提供的測(cè)試報(bào)告, Spring Cloud Gateway的RPS(每秒請(qǐng)求數(shù))是Zuul的1.6倍.

Gateway的使用

創(chuàng)建網(wǎng)關(guān)Module

引入網(wǎng)關(guān)依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

編寫啟動(dòng)類

package gateway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
}

添加Gateway路由配置

server:
  port: 8888
spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        server-addr: 47.98.109.138:8848
    gateway:
      metrics:
        enabled: true
      routes:
        - id: order-service   #路由規(guī)則id, 隨便起, 不重復(fù)即可
          uri: lb://order-service/ #目標(biāo)服務(wù)地址
          predicates:   #路由條件
            - Path=/order/**,/feign/**
        - id: product-service
          uri: lb://product-service/
          predicates:
            - Path=/product/**

配置字段說(shuō)明:

配置字段說(shuō)明:
• id : ?定義路由ID, 保持唯?
• uri: ?標(biāo)服務(wù)地址, ?持普通URI 及 lb://應(yīng)?注冊(cè)服務(wù)名稱 . lb表?負(fù)載均衡, 使? lb:// ?
式表示從注冊(cè)中?獲取服務(wù)地址.
• predicates: 路由條件, 根據(jù)匹配結(jié)果決定是否執(zhí)?該請(qǐng)求路由, 上述代碼中, 我們把符合Path規(guī)則的?切請(qǐng)求, 都代理到uri參數(shù)指定的地址.

啟動(dòng)服務(wù)并訪問(wèn)

到此這篇關(guān)于Spring Cloud服務(wù)入口Gateway的介紹和使用問(wèn)題小結(jié)的文章就介紹到這了,更多相關(guān)Spring Cloud Gateway使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot手動(dòng)連接庫(kù)并獲取指定表結(jié)構(gòu)的示例代碼

    Springboot手動(dòng)連接庫(kù)并獲取指定表結(jié)構(gòu)的示例代碼

    這篇文章主要介紹了Springboot手動(dòng)連接庫(kù)并獲取指定表結(jié)構(gòu)的示例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • spring中的懶加載詳細(xì)解讀

    spring中的懶加載詳細(xì)解讀

    這篇文章主要介紹了spring中的懶加載詳細(xì)解讀,如果某個(gè)Bean再程序運(yùn)行周期中都可能不會(huì)被適用,那么可以設(shè)定該Bean為懶加載,優(yōu)勢(shì)是盡量節(jié)省了服務(wù)器的資源,缺點(diǎn)是可能會(huì)導(dǎo)致某個(gè)相應(yīng)的時(shí)間增加,需要的朋友可以參考下
    2023-10-10
  • 劍指Offer之Java算法習(xí)題精講數(shù)組與字符串題

    劍指Offer之Java算法習(xí)題精講數(shù)組與字符串題

    跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • JWT令牌的工作原理詳解

    JWT令牌的工作原理詳解

    這篇文章主要介紹了JWT令牌的工作原理詳解,在認(rèn)證的時(shí)候,當(dāng)用戶用他們的的憑證成功登錄以后,一個(gè)JSON?Web?Token將會(huì)被返回,此后,用戶名和密碼就不再是用戶的憑證,而token是用戶用來(lái)訪問(wèn)資源的新憑證了,需要的朋友可以參考下
    2023-08-08
  • Java靜態(tài)代理和動(dòng)態(tài)代理總結(jié)

    Java靜態(tài)代理和動(dòng)態(tài)代理總結(jié)

    這篇文章主要介紹了Java靜態(tài)代理和動(dòng)態(tài)代理總結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • Flink部署集群整體架構(gòu)源碼分析

    Flink部署集群整體架構(gòu)源碼分析

    這篇文章主要為大家介紹了Flink部署集群及整體架構(gòu)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 詳解使用SSM實(shí)現(xiàn)簡(jiǎn)單工作流系統(tǒng)之實(shí)現(xiàn)篇

    詳解使用SSM實(shí)現(xiàn)簡(jiǎn)單工作流系統(tǒng)之實(shí)現(xiàn)篇

    這篇文章主要介紹了使用SSM實(shí)現(xiàn)簡(jiǎn)單工作流系統(tǒng)之實(shí)現(xiàn)篇,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • SpringBoot接收f(shuō)orm-data和x-www-form-urlencoded數(shù)據(jù)的方法

    SpringBoot接收f(shuō)orm-data和x-www-form-urlencoded數(shù)據(jù)的方法

    form-data和x-www-form-urlencoded是兩種不同的HTTP請(qǐng)求體格式,本文主要介紹了SpringBoot接收f(shuō)orm-data和x-www-form-urlencoded數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • JavaWeb的監(jiān)聽器和過(guò)濾器你了解嗎

    JavaWeb的監(jiān)聽器和過(guò)濾器你了解嗎

    這篇文章主要為大家詳細(xì)介紹了JavaWeb的監(jiān)聽器和過(guò)濾器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Java SpringBoot詳解集成以及配置Swagger流程

    Java SpringBoot詳解集成以及配置Swagger流程

    Swagger 是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。總體目標(biāo)是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來(lái)更新。文件的方法,參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API來(lái)始終保持同步
    2021-10-10

最新評(píng)論