亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

Gateway

問題引入

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

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

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

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

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

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

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

Zuul

Zuul 是 Netflix 公司開源的?個API?關(guān)組件, 是Spring Cloud Netflix ?項?的核?組件之?,它可以和 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的?個全新的API?關(guān)項?, 基于Spring + SpringBoot等技術(shù)開發(fā), ?的是為了替換掉Zuul. 旨在為微服務(wù)架構(gòu)提供?種簡單?有效的途徑來轉(zhuǎn)發(fā)請求, 并為他們提供橫切關(guān)注點, ?如: 安全性, 監(jiān)控/指標(biāo)和彈性.
在性能??, 根據(jù)官?提供的測試報告, Spring Cloud Gateway的RPS(每秒請求數(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>

編寫啟動類

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/**

配置字段說明:

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

啟動服務(wù)并訪問

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

相關(guān)文章

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

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

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

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

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

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

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

    JWT令牌的工作原理詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論