WebFlux

咱们先聊下什么是Reactive,官网给的定义如下:

Reactive systems have certain characteristics that make them ideal for low-latency, high-throughput workloads. Project Reactor and the Spring portfolio work together to enable developers to build enterprise-grade reactive systems that are responsive, resilient, elastic, and message-driven.

反应式系统具有某些特性,使其成为低延迟、高吞吐量工作负载的理想选择。 Project Reactor 和 Spring 产品组合协同工作,使开发人员能够构建具有响应性、弹性、弹性和消息驱动的企业级反应式系统。

What is reactive processing?

响应式处理是一种范例,它使开发人员能够构建可以处理背压(流控制)的非阻塞、异步应用程序。

Why use reactive processing?

Reactive systems better utilize modern processors. Also, the inclusion of back-pressure in reactive programming ensures better resilience between decoupled components.

反应式系统更好地利用现代处理器。 此外,在反应式编程中包含背压可确保解耦组件之间具有更好的弹性。



什么是响应式编程(Reactive Programming)?

维基百科上的定义是:reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change

响应式编程(reactive programming)是一种基于数据流(data stream)和变化传递(propagation of change)的声明式(declarative)的编程范式

       声明式(declarative): Lambda 表达式



Lambda表达式创建线程的时候,并不关心接口名,方法名,参数名只关注他的参数类型,参数个数,返回值

jdk:


                                表格中的一元接口表示只有一个入参,二元接口表示有两个入参


          数据流:Stream:



Reactive Streams 接口:

Publisher:负责发布类型为T的元素,并为订阅者提供连接到它的订阅方法

Subscriber:连接Publisher,通过onSubscribe接收确认,然后通过onNext接收数据,通过onError和onComplete回调和返回其他信号

Subscription:代表发布者和订阅者之间的链接,允许通过请求对发布者进行背压,或者取消终止链接

Processor:在单个接口中结合了Publisher和Subscriber的功能

你可能感兴趣的:(WebFlux)