开发人员从阻塞代码迁移到非阻塞代码的主要原因之一是效率。响应式代码使用更少的资源完成更多工作。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 等平台的响应式访问。