Webflux:
webflux是在springboot2系列引入的技術:補充一些概念:
1> Reactive Streams 是 JVM 中面向流的庫標准和規范:
處理可能無限數量的元素
按順序處理
組件之間異步傳遞
強制性非阻塞背壓(Backpressure)
2> Backpressure(背壓):背壓是一種常用策略,使得發布者擁有無限制的緩沖區存儲元素,用於確保發布者發布元素太快時,不會去壓制訂閱者。
Reactive Streams(響應式流)
一般由以下組成:
發布者:發布元素到訂閱者
訂閱者:消費元素
訂閱:在發布者中,訂閱被創建時,將與訂閱者共享
處理器:發布者與訂閱者之間處理數據
3> 響應式編程
響應式項目編程實戰中,通過基於 Reactive Streams 規范實現的框架 Reactor 去實戰。Reactor 一般提供兩種響應式 API :
Mono:實現發布者,並返回 0 或 1 個元素
Flux:實現發布者,並返回 N 個元素
4> Spring Webflux(基於 Reactor 實現)【重點】
WebFlux 特性:
響應式 API
編程模型
適用性
內嵌容器
Starter 組件
5>Spring Boot 2.x 常用的 Starter 組件有哪些呢?
Spring Boot 2.0 WebFlux 組件:
Spring Boot WebFlux 官方提供了很多 Starter 組件,每個模塊會有多種技術實現選型支持,來實現各種復雜的業務需求:
Web:Spring WebFlux
模板引擎:Thymeleaf
存儲:Redis、MongoDB、Cassandra,不支持 MySQL
內嵌容器:Tomcat、Jetty、Undertow
6> springboot的webflux內嵌的是netty服務器
webmvc和webFlux:

webflux項目搭建:
第一步:創建項目骨架 :

第二步:創建handler:

第三步:創建router:

第四步:啟動項目測試:(啟動是netty)

到這,webflux項目搭建完成,並測試通過,這只是簡單介紹,並沒有深入介紹webflux,下一章會詳細介紹
