文章很長,建議收藏起來,慢慢讀! 瘋狂創客圈為小伙伴奉上以下珍貴的學習資源:
- 瘋狂創客圈 經典圖書 : 《Netty Zookeeper Redis 高並發實戰》 面試必備 + 大廠必備 + 漲薪必備
- 瘋狂創客圈 經典圖書 : 《SpringCloud、Nginx高並發核心編程》 面試必備 + 大廠必備 + 漲薪必備
- 資源寶庫: Java程序員必備 網盤資源大集合 價值>1000元 隨便取 GO->【博客園總入口 】
- 獨孤九劍:Netty靈魂實驗 : 本地 100W連接 高並發實驗,瞬間提升Java內力
- 最純粹的技術交流:和大廠 小伙伴、技術高手、架構師 進行 純粹的的技術問題交流、探討求助、問題圍觀學習
推薦2:史上最全 Java 面試題 21 個專題
史上最全 Java 面試題 21 個專題 | 阿里、京東、美團、頭條.... 隨意挑、橫着走!!! |
---|---|
1: JVM面試題(史上最強、持續更新、吐血推薦) | https://www.cnblogs.com/crazymakercircle/p/14365820.html |
2:Java基礎面試題(史上最全、持續更新、吐血推薦) | https://www.cnblogs.com/crazymakercircle/p/14366081.html |
4:設計模式面試題 (史上最全、持續更新、吐血推薦) | https://www.cnblogs.com/crazymakercircle/p/14367101.html |
5:架構設計面試題 (史上最全、持續更新、吐血推薦) | https://www.cnblogs.com/crazymakercircle/p/14367907.html |
還有 21篇必刷、必刷 的面試題 | 更多 ....., 請參見【 瘋狂創客圈 高並發 總目錄 】 |
推薦3: 瘋狂創客圈 高質量 博文
高並發 必讀 的精彩博文 | |
---|---|
nacos 實戰(史上最全) | sentinel (史上最全+入門教程) |
Zookeeper 分布式鎖 (圖解+秒懂+史上最全) | Webflux(史上最全) |
SpringCloud gateway (史上最全) | TCP/IP(圖解+秒懂+史上最全) |
10分鍾看懂, Java NIO 底層原理 | Feign原理 (圖解) |
更多精彩博文 ..... | 請參見【 瘋狂創客圈 高並發 總目錄 】 |
1 Webflux 相關的名詞
Spring WebFlux
Spring WebFlux 作為一個響應式 (reactive-stack) web 框架補充,在 5.0 的版本開始加入到 Spring 全家桶。這是一個完全非阻塞的,支持 Reactive Streams, 運行在諸如 Netty, Undertow, 以及 Servlet 3.1+ 容器上的。Spring WebFlux 可以讓你使用更少的線程去處理並發請求,同時能夠讓你使用更少的硬件資源來拓展你的應用。
Spring WebFlux與Spring MVC 的區別
下圖是他們的一個區別。
Spring MVC
- 構建於 Servlet API 之上
- 同步阻塞 I/O 模型, 認為應用匯阻塞當前線程,所以一個 Request 對應一個 Thread,需要有一個含有大量線程的線程池
Spring WebFlux
- 構建於 Reactive Streams Adapters 之上
- 異步非阻塞 I/O 模型,認為應用不會阻塞當前線程,所以只是需要一個包含少數固定線程數的線程池 (event loop workers) 來處理請求
關於 I/O 模型,可以看看這篇 10分鍾看懂, Java NIO 底層原理
還有這篇,高性能reactor 模式
Reactor響應式編程庫
什么是 Reactor響應 式編程庫 ?
Reactor 是 WebFlux 的御用響應式編程庫,WebFlux 的編程模式發生了根本性改變,使用響應 式編程而是不傳統的命令式編程。
Reactor響應式編程庫 、WebFlux 與 Spring 是什么關系?
來自於一個團隊。 Spring 5 使用 WebFlux開發響應式 、高性能WEB 應用。
2 lambda與函數式
Reactor 編程,大量使用了lambda與函數式 語法,所以,首先要掌握lambda與函數式的內容:
3 Reactor3 編程
接下來,開始學習Reactor 編程:
3.1 權威、官方的Reactor3 資料:
3.2 非官方Reactor3 學習材料:
學習響應式編程 Reactor (2) - 初識 reactor
學習響應式編程 Reactor (3) - reactor 基礎
學習響應式編程 Reactor (4) - reactor 轉換類操作符(1)
學習響應式編程 Reactor (5) - reactor 轉換類操作符(2)