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