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