开发人员从阻塞代码转移到非阻塞代码的主要原因之一是效率。反应性代码用更少的资源就能完成更多工作。Project Reactor和Spring WebFlux使开发人员可以利用下一代多核处理器来处理潜在的大量并发连接。借助反应式处理,您可以使用更少的微服务实例来满足更多并发用户的需求。
反应性
反应系统具有某些特性,使其非常适合低延迟,高吞吐量的工作负载。Project Reactor和Spring产品组合一起使开发人员能够构建可响应,有弹性,有弹性和消息驱动的企业级反应系统。
什么是反应处理?
响应式处理是使开发人员能够构建可处理背压(流控制)的非阻塞异步应用程序的范例。
为什么要使用反应性处理?
反应系统更好地利用了现代处理器。另外,在反应式编程中包含背压可确保解耦组件之间具有更好的弹性。
项目反应堆
Project Reactor是一个完全无阻塞的基础,其中包括背压支持。它是Spring生态系统中反应式堆栈的基础,并且在Spring WebFlux,Spring Data和Spring Cloud Gateway等项目中得到了突出体现。
学到更多
反应式微服务
使用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等平台的反应式访问。