前言
响应式编程中Flux和Mono非常多很难分辨,很懵,公司项目两个对象的接触又非常的多,比如说Spring WebFlux、RSocket、R2DBC。今天彻底搞懂他
- 为什么用这两个类的修饰符
- 无阻塞
- 数据流
- 必须是异步执行
- 允许背压处理
背压是反应流内的重要概念,有点难理解?这个可以理解为感受到消费者反馈的消费压力,并根据压力进行调整产生速率。
Mono和Flux怎么来的,为什么创造它
- 只是为了更加清晰表示期待的结果
Reactive Stream 规范中将这种定义为Publisher,
允许提供0-N个序列元素的提供者,
根据其订阅者Subscriber的需求来提供推送的元素,
一个Publisher可以支持多个订阅者,根据订阅者的喜好和逻辑推送序列元素。
Flux和Mono都是