最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)

 更新時(shí)間:2023年10月12日 10:53:12   作者:冷冷  
這篇文章主要為大家介紹了Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

網(wǎng)關(guān)不支持傳統(tǒng) Servlet 容器

Spring Cloud Gateway 需要運(yùn)行在提供的 Netty 運(yùn)行時(shí)。它不能在傳統(tǒng)的 Servlet 容器中工作,也不能在構(gòu)建為 WAR 時(shí)工作。WebFlux 使用了異步非阻塞的編程模型,相較于傳統(tǒng)的 MVC Servlet 需要理解和適應(yīng)新的編程范式和響應(yīng)式編程概念,因此學(xué)習(xí)曲線可能較陡峭。

如果在 spring-cloud-gateway 引入了 tomcat 等傳統(tǒng)容器會(huì)拋出如下異常:

14 Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
 15     at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:124) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
 16     at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:86) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
 17     at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:414) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
 18     at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:178) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
 19     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:179) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
 20     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:152) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
 21     ... 8 common frames omitted

MVC Servlet 支持

在 SpringCloud 2023 版本(Spring Cloud Gateway 4.1)版本,官方提供了對(duì) MVC Servlet 的支持,可以使用 tomcat 等容器替代 netty ,使用同步的 Servlet Filter 代替復(fù)雜的事件流的異步編程風(fēng)格。

快速開始

  • springboot 3.2
  • spring clouod 2023
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway-mvc</artifactId>
</dependency>

配置轉(zhuǎn)發(fā)規(guī)則

所有客戶端請(qǐng)求 127.0.0.1:8080 轉(zhuǎn)發(fā)至 pig4cloud.com

spring:
  cloud:
    gateway:
      mvc:
        routes:
          - id: pig
            uri: https://pig4cloud.com
            predicates:
              - Path=/

注意:如果使用 gateway-mvc ,如有配置規(guī)則需要增加 mvc 這個(gè)層級(jí)的配置不然無效

如何自定義網(wǎng)關(guān) filter

打開 Spring Cloud Gateway 的官網(wǎng),發(fā)現(xiàn)針對(duì) MVC 支持的部分沒有提供過多的參考資料。不過按筆者看來完全不需要參考其他資料,只要按照 Spring MVC 項(xiàng)目中如何編寫 Filter 的方法,就可以實(shí)現(xiàn) Gateway 的開發(fā)。

注意指定自定義 Filter 的順序,Spring Cloud Gateway Filter 執(zhí)行順序與 WebFlux Filter 保持一致。

總結(jié)

Spring Cloud Gateway 對(duì)于同步 MVC 的支持,早在社區(qū)中就已提出(畢竟最早使用的都是 Zuul 1.x 切換過去,原本就是 MVC 的實(shí)現(xiàn))。隨著 Java 21 正式發(fā)布,虛擬線程的出現(xiàn)無形中對(duì)同步 MVC 提供了性能加持。官方在適配 Java 21 后,會(huì)正式發(fā)布相關(guān)的版本,Spring Cloud Gateway 的 MVC 版本將簡(jiǎn)化原有的網(wǎng)關(guān)邏輯開發(fā)難度,極大地豐富了網(wǎng)關(guān)應(yīng)用。

PIG 微服務(wù)已支持 SpringBoot3.2 、SpringCloud 2023

以上就是Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)的詳細(xì)內(nèi)容,更多關(guān)于Spring Cloud同步網(wǎng)關(guān)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(45)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(45)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • Java代理模式及動(dòng)態(tài)代理使用及說明

    Java代理模式及動(dòng)態(tài)代理使用及說明

    文章解釋了代理模式的概念及其應(yīng)用場(chǎng)景,介紹了靜態(tài)代理和動(dòng)態(tài)代理的特點(diǎn)和應(yīng)用場(chǎng)景,并詳細(xì)講解了基于JDK原生動(dòng)態(tài)代理實(shí)現(xiàn)日志記錄功能的方法
    2026-04-04
  • Java找出兩個(gè)大數(shù)據(jù)量List集合中的不同元素的方法總結(jié)

    Java找出兩個(gè)大數(shù)據(jù)量List集合中的不同元素的方法總結(jié)

    本文將帶大家了解如何快速的找出兩個(gè)相似度非常高的List集合里的不同元素。主要通過Java API、List集合雙層遍歷比較不同、借助Map集合查找三種方式,需要的可以參考一下
    2022-10-10
  • SpringBoot自動(dòng)裝配原理詳解

    SpringBoot自動(dòng)裝配原理詳解

    這篇文章主要介紹了SpringBoot自動(dòng)裝配原理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot框架,感興趣的朋友可以了解下
    2021-03-03
  • 使用Java發(fā)送郵件到QQ郵箱的完整指南

    使用Java發(fā)送郵件到QQ郵箱的完整指南

    在現(xiàn)代軟件開發(fā)中,郵件發(fā)送功能是一個(gè)常見的需求,無論是用戶注冊(cè)驗(yàn)證、密碼重置,還是系統(tǒng)通知,郵件都是一種重要的通信方式,本文將詳細(xì)介紹如何使用Java編寫程序,實(shí)現(xiàn)發(fā)送郵件到QQ郵箱的功能,需要的朋友可以參考下
    2025-03-03
  • Java運(yùn)行環(huán)境搭建的圖文教程

    Java運(yùn)行環(huán)境搭建的圖文教程

    下面小編就為大家?guī)硪黄狫ava運(yùn)行環(huán)境搭建的圖文教程。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java 實(shí)戰(zhàn)項(xiàng)目之精美物流管理系統(tǒng)的實(shí)現(xiàn)流程

    Java 實(shí)戰(zhàn)項(xiàng)目之精美物流管理系統(tǒng)的實(shí)現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SpringBoot+Vue+maven+Mysql實(shí)現(xiàn)一個(gè)精美的物流管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • java獲取http請(qǐng)求的Header和Body的簡(jiǎn)單方法

    java獲取http請(qǐng)求的Header和Body的簡(jiǎn)單方法

    下面小編就為大家?guī)硪黄猨ava獲取http請(qǐng)求的Header和Body的簡(jiǎn)單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • SpringBoot3整合Hutool-captcha實(shí)現(xiàn)圖形驗(yàn)證碼

    SpringBoot3整合Hutool-captcha實(shí)現(xiàn)圖形驗(yàn)證碼

    在整合技術(shù)框架的時(shí)候,想找一個(gè)圖形驗(yàn)證碼相關(guān)的框架,看到很多驗(yàn)證碼的maven庫不再更新了或中央倉(cāng)庫下載不下來,還需要多引入依賴,后面看到了Hutool圖形驗(yàn)證碼(Hutool-captcha)中對(duì)驗(yàn)證碼的實(shí)現(xiàn),所以本文介紹了SpringBoot3整合Hutool-captcha實(shí)現(xiàn)圖形驗(yàn)證碼
    2024-11-11
  • Java數(shù)組的擴(kuò)容代碼示例

    Java數(shù)組的擴(kuò)容代碼示例

    這篇文章主要介紹了Java數(shù)組的擴(kuò)容,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

张家口市| 台湾省| 平潭县| 岳池县| 凌云县| 大连市| 阿城市| 德保县| 麻栗坡县| 遵义市| 雷州市| 葫芦岛市| 红河县| 大丰市| 龙州县| 临洮县| 资兴市| 平武县| 民县| 洞口县| 洞头县| 菏泽市| 梨树县| 平潭县| 吴川市| 兴安县| 秭归县| 崇信县| 辽阳县| 吉安市| 遂平县| 化德县| 银川市| 沾益县| 元江| 大庆市| 皋兰县| 万盛区| 南川市| 九龙城区| 重庆市|