開發人員從阻塞式程式碼轉向非阻塞式程式碼的主要原因之一是效率。反應式程式碼以更少的資源完成更多的工作。Project Reactor 和 Spring WebFlux 讓開發人員能夠充分利用多核心、下一代處理器——處理潛在的大量並行連線。透過反應式處理,您可以用更少的微服務實例來滿足更多並行使用者。
使用 Spring Boot 的反應式微服務
Spring 产品组合提供了兩個平行的堆疊。一個是基於 Servlet API,使用 Spring MVC 和 Spring Data 建構。另一個是完全反應式的堆疊,它利用了 Spring WebFlux 和 Spring Data 的反應式儲存庫。在這兩種情況下,Spring Security 都為您提供了對這兩個堆疊的原生支援。
與常用技術整合
以反應式方式存取和處理資料非常重要。MongoDB、Redis 和 Cassandra 在 Spring Data 中都具有原生反應式支援。許多關聯式資料庫(Postgres、Microsoft SQL Server、MySQL、H2 和 Google Spanner)透過 R2DBC 提供反應式支援。在訊息傳遞領域,Spring Cloud Stream 也支援對 RabbitMQ 和 Kafka 等平台進行反應式存取。