响应式编程(reactive programming)是一种基于数据流(data stream)和变化传递(propagation of change)的声明式(declarative)的编程范式。
数据驱动程序执行,而不用阻塞等待数据,没有数据,什么也不发生。
The Reactive Manifesto
Reactive Streams
1 |
|
Publisher
1 |
|
Subscriber
1 |
|
Subscription
1 |
|
Processor
1 |
|
特点
-
变化传递(propagation of change)
-
数据流(data stream)
具备“异步非阻塞”特性和“流量控制”能力的数据流,我们称之为响应式流(Reactive Stream)。
-
申明式(declarative)
相对于命令式,命令式是面向过程的,声明式是面向结构的
-
背压(backpressure)
-
异步非阻塞
参考实现
相关书籍
《Java编程方法论:响应式Spring Reactor 3设计与实现》
《Java编程方法论:响应式RxJava与代码设计实战》
《Spring响应式微服务:Spring Boot 2+Spring 5+Spring Cloud实战》
《Hands-On Reactive Programming in Spring 5》《Spring响应式编程》
《Java异步编程实战》