開發人員從阻塞式程式碼轉向非阻塞式程式碼的主要原因之一是效率。響應式程式碼以更少的資源完成更多的工作。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 等平臺的響應式訪問。