开发人员从阻塞代码迁移到非阻塞代码的主要原因之一是效率。响应式代码使用更少的资源完成更多工作。Project Reactor 和 Spring WebFlux 使开发人员能够利用多核、下一代处理器——处理大量并发连接。通过响应式处理,你可以使用更少的微服务实例满足更多并发用户。
使用 Spring Boot 的响应式微服务
Spring 产品组合提供了两个并行堆栈。一个基于带有 Spring MVC 和 Spring Data 构造的 Servlet API。另一个是充分利用 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 等平台的反应式访问。