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

Spring Cloud 2023 新特性支持同步網關

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

網關不支持傳統 Servlet 容器

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

如果在 spring-cloud-gateway 引入了 tomcat 等傳統容器會拋出如下異常:

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)版本,官方提供了對 MVC Servlet 的支持,可以使用 tomcat 等容器替代 netty ,使用同步的 Servlet Filter 代替復雜的事件流的異步編程風格。

快速開始

  • 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>

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

所有客戶端請求 127.0.0.1:8080 轉發(fā)至 pig4cloud.com

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

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

如何自定義網關 filter

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

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

總結

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

PIG 微服務已支持 SpringBoot3.2 、SpringCloud 2023

以上就是Spring Cloud 2023 新特性支持同步網關的詳細內容,更多關于Spring Cloud同步網關的資料請關注腳本之家其它相關文章!

相關文章

  • PowerJob UseCacheLock工作流程源碼剖析

    PowerJob UseCacheLock工作流程源碼剖析

    這篇文章主要為大家介紹了PowerJob UseCacheLock工作流程源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • SpringBoot項目注入?traceId?追蹤整個請求的日志鏈路(過程詳解)

    SpringBoot項目注入?traceId?追蹤整個請求的日志鏈路(過程詳解)

    本文介紹了如何在單體SpringBoot項目中通過手動實現過濾器或攔截器來注入traceId,以追蹤整個請求的日志鏈路,通過使用MDC和配置日志格式,可以在日志中包含traceId,便于問題排查,同時,還在返回的包裝類中注入traceId,以便用戶反饋問題,感興趣的朋友一起看看吧
    2025-02-02
  • SpringBoot中整合JodConverter實現文件在線預覽功能

    SpringBoot中整合JodConverter實現文件在線預覽功能

    Spring Boot JodConverter是一個基于Spring Boot框架的文檔轉換工具,它使用JodConverter庫來實現文檔格式之間的轉換,本文主要介紹了SpringBoot中整合JodConverter實現文件在線預覽功能,需要的朋友可以參考下
    2024-04-04
  • 使用jackson實現對象json之間的相互轉換(spring boot)

    使用jackson實現對象json之間的相互轉換(spring boot)

    這篇文章主要介紹了使用jackson實現對象json之間的相互轉換(spring boot),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • MyBatis-Plus高級擴展詳解

    MyBatis-Plus高級擴展詳解

    本文介紹了MyBatis-Plus中邏輯刪除和樂觀鎖的實現概念、方法和示例,邏輯刪除通過更改記錄狀態(tài)模擬刪除,而樂觀鎖通過版本號或時間戳確保并發(fā)操作的正確性
    2025-03-03
  • Spring中使用LocalDateTime、LocalDate等參數作為入參

    Spring中使用LocalDateTime、LocalDate等參數作為入參

    這篇文章主要介紹了Spring中使用LocalDateTime、LocalDate等參數作為入參,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 深入同步訪問共享的可變數據分析

    深入同步訪問共享的可變數據分析

    本篇文章是對同步訪問共享的可變數據進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 關于springboot配置文件密文解密方式

    關于springboot配置文件密文解密方式

    這篇文章主要介紹了關于springboot配置文件密文解密方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • IDEA搭建配置Java?Web項目的詳細步驟

    IDEA搭建配置Java?Web項目的詳細步驟

    這篇文章詳細介紹了如何使用IDEA創(chuàng)建和配置JavaWeb項目,包括項目結構設置、WEB-INF目錄和jsp文件的創(chuàng)建,以及Tomcat的配置,是Java初學者的實用指南,需要的朋友可以參考下
    2024-10-10
  • 解決表單post,get到springMVC后臺亂碼的問題

    解決表單post,get到springMVC后臺亂碼的問題

    下面小編就為大家分享一篇解決表單post,get到springMVC后臺亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01

最新評論