Spring Boot webflux使用方法解析
1、同步阻塞IO模型
當(dāng)容器中只有三個(gè)線程接收請(qǐng)求,當(dāng)有四個(gè)請(qǐng)求過來的時(shí)候,就會(huì)Block住,得不到及時(shí)的響應(yīng)
2、異步非阻塞式IO模型
Spring Boot webflux是異步非阻塞式IO模型,容器線程將耗時(shí)的任務(wù)(IO密集型任務(wù))交給work線程來處理
3、webflux應(yīng)用場(chǎng)景
4、webflux與springmvc異同點(diǎn)
5、webflux使用建議
1)、如果當(dāng)前項(xiàng)目比較穩(wěn)定,沒必要切換。如果要切換最好切換整套技術(shù)棧
2)、如果只是個(gè)人對(duì)新技術(shù)感興趣,可以在一些簡(jiǎn)單小型項(xiàng)目中使用研究,或者使用WebClient嘗試
3)、大團(tuán)隊(duì)慎重考慮引入這門技術(shù),引入前跟團(tuán)隊(duì)成員一起做好評(píng)估工作。
6、webflux技術(shù)依賴
Reactive Streams: 反應(yīng)式編程標(biāo)準(zhǔn)和規(guī)范 -> Reactor: 基于reactive Streams的反應(yīng)式編程框架 -> WebFlux: 以Reactor為基礎(chǔ)實(shí)現(xiàn)Web領(lǐng)域的反應(yīng)式編程框架
7、Reactive Streams
一套基于jvm面向流式類庫的標(biāo)準(zhǔn)和規(guī)范
1) 具有處理無限數(shù)量數(shù)據(jù)的能力
2) 按序處理數(shù)據(jù)
3) 異步非阻塞的傳遞數(shù)據(jù)
4) 必須實(shí)現(xiàn)非阻塞的背壓。(數(shù)據(jù)源產(chǎn)生數(shù)據(jù)的速度超過消費(fèi)端消費(fèi)數(shù)據(jù)的速度,消費(fèi)端可以通知數(shù)據(jù)源它所能消費(fèi)的數(shù)據(jù)量,讓數(shù)據(jù)源發(fā)送一定量的數(shù)據(jù)給到它,或者通知數(shù)據(jù)源取消對(duì)其發(fā)送數(shù)據(jù)來降低消費(fèi)壓力)
8、api規(guī)范組件
publisher: 數(shù)據(jù)發(fā)布者
subscriber: 數(shù)據(jù)訂閱者
subscription: 訂閱型號(hào)
processor: 處理器(包含了發(fā)布者和訂閱者的混合體)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java 合并排序算法、冒泡排序算法、選擇排序算法、插入排序算法、快速排序算法的描述
算法是程序設(shè)計(jì)的精髓,程序設(shè)計(jì)的實(shí)質(zhì)就是構(gòu)造解決問題的算法,將其解釋為計(jì)算機(jī)語言。2009-06-06SpringBoot項(xiàng)目整合Log4j2實(shí)現(xiàn)自定義日志打印失效問題解決
這篇文章主要介紹了SpringBoot項(xiàng)目整合Log4j2實(shí)現(xiàn)自定義日志打印失效問題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01Spring?MVC數(shù)據(jù)響應(yīng)處理詳解
這篇文章主要給大家介紹了關(guān)于Spring?MVC數(shù)據(jù)響應(yīng)處理的相關(guān)資料,本教程詳細(xì)的講解SpringMVC框架的使用,非常詳細(xì)的案例講解,一步一步帶你走入springmvc框架的核心,需要的朋友可以參考下2022-05-05使用Spring Initializr方式如何快速構(gòu)建Spring Boot項(xiàng)目
Spring lnitializr是一個(gè)Web應(yīng)用,它提供了一個(gè)基本的項(xiàng)目結(jié)構(gòu),能夠幫助我們快速構(gòu)建一個(gè)基礎(chǔ)的Spring Boot項(xiàng)目,本文分步驟講解如何使用Spring Initializr方式構(gòu)建Spring Boot項(xiàng)目,感興趣的朋友跟隨小編一起看看吧2023-08-08MybatisPlus實(shí)現(xiàn)邏輯刪除的示例代碼
本文主要介紹了Mybatis?Plus實(shí)現(xiàn)邏輯刪除的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Mybatis-Plus集成Sharding-JDBC與Flyway實(shí)現(xiàn)多租戶分庫分表實(shí)戰(zhàn)
這篇文章主要為大家介紹了Mybatis-Plus集成Sharding-JDBC與Flyway實(shí)現(xiàn)多租戶分庫分表實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Java實(shí)現(xiàn)字符串倒序輸出的四種方法匯總
這篇文章主要介紹了Java實(shí)現(xiàn)字符串倒序輸出的四種方法匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06項(xiàng)目總結(jié)之HttpURLConnection的disconnect的問題
這篇文章主要介紹了項(xiàng)目總結(jié)之HttpURLConnection的disconnect的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06