日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

响应式Spring的道法术器(Spring WebFlux 快速上手 + 全面介绍)

發(fā)布時(shí)間:2024/1/18 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 响应式Spring的道法术器(Spring WebFlux 快速上手 + 全面介绍) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. Spring WebFlux 2小時(shí)快速入門

Spring 5 之使用Spring WebFlux開發(fā)響應(yīng)式應(yīng)用。

  • lambda與函數(shù)式(15min)
  • Reactor 3 響應(yīng)式編程庫(60min)
  • Spring Webflux和Spring Data Reactive開發(fā)響應(yīng)式應(yīng)用(45min)
  • 通過以上內(nèi)容相信可以對(duì)Spring 5.0 推出的響應(yīng)式開發(fā)有了初步的體會(huì)。如果希望有更加深入的了解,歡迎閱讀下邊的系列文章——

    2. 響應(yīng)式Spring的道法術(shù)器

    這個(gè)系列的文章是為了記錄下自己學(xué)習(xí)Spring響應(yīng)式編程的所得,也希望能夠幫助到更多的朋友。

    原諒我標(biāo)題黨了,希望能從道、法、術(shù)、器四個(gè)層面盡量全面地學(xué)習(xí)和介紹關(guān)于Spring響應(yīng)式編程的方方面面。

    【道】響應(yīng)式編程的概念、原則、特性與方法

    • 1.1 什么是響應(yīng)式編程:響應(yīng)式編程=數(shù)據(jù)流+變化傳遞+聲明式;
    • 1.2 響應(yīng)式流:響應(yīng)式流的異步非阻塞和回壓(也有翻譯為“背壓”、“負(fù)壓”的)特性,分析與多線程并發(fā)方案以及基于回調(diào)和CompletableFuture的異步開發(fā)方式的不同;
    • 1.3 Hello,reactive world,通過實(shí)例學(xué)習(xí)用lambda、Reactor 3、Spring Webflux和Spring Data Reactive開發(fā)響應(yīng)式應(yīng)用的方法和技巧;
    • 1.4 異步非阻塞有多給力,使用gatling對(duì)基于Spring Webmvc和Spring Webflux的Web服務(wù)端應(yīng)用進(jìn)行負(fù)載測(cè)試,通過Spring WebClient與RestTemplate的性能對(duì)比并結(jié)合Netflix的案例了解異步Http客戶端的性能提升,然后使用YCSB對(duì)MongoDB的同步和異步驅(qū)動(dòng)進(jìn)行負(fù)載測(cè)試,通過測(cè)試數(shù)據(jù)分析異步非阻塞的性能優(yōu)勢(shì);
    • 1.5 響應(yīng)式系統(tǒng),介紹響應(yīng)式宣言,以及響應(yīng)式編程和響應(yīng)式系統(tǒng)的區(qū)別與聯(lián)系。

    【法】系統(tǒng)介紹響應(yīng)式編程庫的使用與原理

    • 2.1 照虎畫貓深入理解響應(yīng)式流規(guī)范,介紹響應(yīng)式流規(guī)范及響應(yīng)式開發(fā)核心接口,通過自己動(dòng)手編寫響應(yīng)式開發(fā)庫,了解內(nèi)部實(shí)現(xiàn)機(jī)制,是理解本章后續(xù)內(nèi)容的基礎(chǔ),重要。
    • 2.2 自定義數(shù)據(jù)流,在Reactor 3中如何通過generate和create等方法生成自定義的數(shù)據(jù)流,是命令式編程與響應(yīng)式編程的橋梁。然后通過實(shí)現(xiàn)一個(gè)docker事件推送的例子進(jìn)一步熟悉它。
    • 2.3 Reactor的backpressure(背壓/回壓)策略,介紹Reactor3中的幾種回壓策略,及其在生成和消費(fèi)數(shù)據(jù)流的時(shí)候如何起作用。
    • 2.4 Reactor調(diào)度器與線程模型,從原理角度分析Reactor 3的調(diào)度器以及subscribeOn和publishOn的作用原理,最后介紹用于并行執(zhí)行的ParallelFlux。
    • 2.5 Reactor 3 operators,Reactor 3提供了豐富的操作符,介紹如何選擇合適的操作符,以及如何進(jìn)行操作符的打包。
    • 2.6 測(cè)試,介紹使用StepVerifier、PublisherProbe和TestPublisher三種工具進(jìn)行自動(dòng)化測(cè)試的方法。
    • 2.7 調(diào)試,介紹基于hook的全局調(diào)試模式、基于checkpoint()的局部調(diào)試模式的調(diào)試方法,以及之前用過的log()操作符觀察內(nèi)部執(zhí)行情況。
    • 2.8 Hot vs Cold,介紹使用Reactor 3 操作“熱序列”的方法。
    • 2.9 Processor,介紹Reactor 3內(nèi)置的幾種Processor的實(shí)現(xiàn)。
    • 2.10 操作符熔合,介紹操作符熔合的優(yōu)化思路。

    【術(shù)】響應(yīng)式關(guān)鍵技術(shù)與底層機(jī)制
    預(yù)告:看網(wǎng)上關(guān)于Actor/Reactor/Preactor模型、異步I/O的內(nèi)容很詳細(xì)也很棒,我就不贅述了,初步考慮直接通過模仿reactor-netty項(xiàng)目,從零編寫一套基于Netty的響應(yīng)式服務(wù)器和客戶端,相信無論是對(duì)于我自己還是對(duì)于關(guān)注本系列文章的朋友來說,都是一次不錯(cuò)的提升Netty和響應(yīng)式編程的嘗試,也是為下一章做鋪墊。這樣一套基于Netty的響應(yīng)式服務(wù)器和客戶端工具是Spring WebFlux與Netty之間的適配層,用于將Netty的入站和出站數(shù)據(jù)進(jìn)行響應(yīng)式轉(zhuǎn)換。
    (最近事情有點(diǎn)多,會(huì)稍遲些發(fā)出來,還是有點(diǎn)難的,光讀源碼就讀了兩周,囧)

    【器】實(shí)例了解Spring各種響應(yīng)式組件
    系統(tǒng)了解Spring中支持響應(yīng)式的組件,如Spring WebFlux、Spring Data Reactive、Spring Security Reactive,以及使用Spring Boot 2和Spring Cloud構(gòu)建響應(yīng)式系統(tǒng)的方法。
    (學(xué)習(xí)中)

    系列文章目錄

    相關(guān)源碼見:https://github.com/get-set/get-reactive。
    Reactor3 Reference Guide參考文檔中文版(跟隨版本更新):http://blog.csdn.net/get_set/article/details/79471861。

    • (1)什么是響應(yīng)式編程
    • (2)響應(yīng)式流
    •  ——附1:多線程并發(fā)方案的不爽
    • (3)lambda與函數(shù)式
    • (4)Reactor快速上手
    • (5)Spring WebFlux快速上手(五個(gè)例子,含響應(yīng)式數(shù)據(jù)訪問、服務(wù)端推送)
    • (6)Spring WebFlux服務(wù)端性能測(cè)試
    • (7)WebClient與RestTemplate性能對(duì)比
    • (8)案例:Netflix對(duì)API網(wǎng)關(guān)的異步化改造
    • (9)異步Mongo驅(qū)動(dòng)的性能測(cè)試
    • (10)響應(yīng)式宣言、響應(yīng)式系統(tǒng)、響應(yīng)式編程
    • (11)DIY了解響應(yīng)式流實(shí)現(xiàn)原理
    • (12)自定義數(shù)據(jù)流(實(shí)戰(zhàn)Docker事件推送的REST API)
    • (13)Reactor的backpressure策略
    • (14)Reactor調(diào)度器與線程模型
    • (15)Reactor 3 Operators
    •  ——附2:Reactor 3 之選擇合適的操作符
    • (16)Reactor的測(cè)試——響應(yīng)式Spring的道法術(shù)器
    • (17)Reactor的調(diào)試——響應(yīng)式Spring的道法術(shù)器
    • (18)Hot vs Cold——響應(yīng)式Spring的道法術(shù)器
    • (19)Reactor Processors——響應(yīng)式Spring的道法術(shù)器
    • (20)操作符熔合——響應(yīng)式Spring的道法術(shù)器

    (未完待續(xù))


    2017年9月,Spring Framework 5發(fā)布了其GA版本,這是自2013年12月以來的又一個(gè)大版本升級(jí)。除了一些人們期待已久的改進(jìn),最令人興奮的新特性是它提供了完整的端到端響應(yīng)式編程的支持。這是一種不同于Servlet的全新的編程范式和技術(shù)棧,它基于異步非阻塞的特性,能夠借助EventLoop以少量線程應(yīng)對(duì)高并發(fā)的訪問,對(duì)微服務(wù)架構(gòu)也頗有助益。不夸張的說,Spring 5使得Java世界擁有了Node.js那樣骨骼驚奇的神器。

    2018年3月1號(hào),Spring Boot 2.0如約發(fā)布,也是一個(gè)大版本升級(jí)。

    從這個(gè)圖就可以看出對(duì)支持Spring 5的Spring Boot 2.0來說,新加入的響應(yīng)式技術(shù)棧是其主打核心特性。具體來說,Spring Boot 2支持的響應(yīng)式技術(shù)棧包括如下:

    • Spring Framework 5提供的非阻塞web框架Spring Webflux;
    • 遵循響應(yīng)式流規(guī)范的兄弟項(xiàng)目Reactor;
    • 支持異步I/O的Netty、Undertow等框架,以及基于Servlet 3.1+的容器(如Tomcat 8.0.23+和Jetty 9.0.4+);
    • 支持響應(yīng)式的數(shù)據(jù)訪問Spring Data Reactive Repositories;
    • 支持響應(yīng)式的安全訪問控制Spring Security Reactive;
    • 等。

    總結(jié)

    以上是生活随笔為你收集整理的响应式Spring的道法术器(Spring WebFlux 快速上手 + 全面介绍)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。