Spring-WebFlux 是什麼?

WebFlux 模塊的名稱是 spring-webflux,名稱中的 Flux 來源於 Reactor 中的類 Flux。Spring webflux 有一個全新的非堵塞的函數式 Reactive Web 框架,可以用來構建異步的、非堵塞的、事件驅動的服務,在伸縮性方面表現非常好。

非阻塞的關鍵預期好處是能夠以小的固定數量的線程和較少的內存進行擴展。在服務器端 WebFlux 支持2種不同的編程模型:

  • 基於註解的 @Controller 和其他註解也支持 Spring MVC
  • Functional 、Java 8 lambda 風格的路由和處理

默認情況下,Spring Boot 2使用Netty WebFlux,因為Netty在異步非阻塞空間中被廣泛使用,異步非阻塞連接可以節省更多的資源,提供更高的響應度。通過比較Servlet 3.1非阻塞I / O沒有太多的使用,因為使用它的成本比較高,Spring WebFlux打開了一條實用的通路。

值得注意的是:支持reactive編程的數據庫只有MongoDB, redis, Cassandra, Couchbase

Spring-WebFlux 是什麼?


分享到:


相關文章: