Reactor学习笔记

1 Reactor简介

Reactor是一个用于JVM的完全非阻塞的响应式编程框架,具备高效的需求管理能力。与Java8函数式API直接集成(CompletableFuture,Stream以及Duration)。它提供了异步序列API Flux(用于N个元素)和Mono(用于0|1个元素)。适用于微服务架构,并且完整支持响应式编解码。

2 响应式编程

Reactor是响应式编程范式的实现。
响应式编程通常作为面向对象编程中的观察者模式的一种扩展。
Reactor主要是弥补一些经典的JVM异步方式所带来的不足,此外还关注几个方面:

  • 可编排性以及可读性
  • 使用丰富的操作符阿里处理形如的数据
  • 在订阅(subscribe)之前什么都不会发生
  • 背压(backpressure)具体来说就是消费者能够反向告知生产者生产内容的速度的能力
  • 高层次的抽象,从而达到并发无关的效果

3 Reactor核心特性

3.1 Flux,包含0-N个元素的异步序列

clipboard.png
Flux<T>是一个能够发出0到N个元素的标准的Publisher<T>,它会被一个”error”或者“completion”信号终止,因此,一个flux的可能结果是一个value、completion或error。

3.2 Mono,异步的0-1结果

clipboard.png
Mono<T>是一种特殊的Publisher<T>,它最多发出一个元素,然后终止于一个onComplete信号或一个onError信号。
它只适用其中一部分可用于Flux的操作。比如,(两个Mono的)结合类操作可以忽略其中之一而发出另一个Mono,也可以将两个都发出,对于后一种情况会切换为一个Flux。

本文基于:https://htmlpreview.github.io...://github.com/get-set/reactor-core/blob/master-zh/src/docs/index.html#flux
推荐写的比较好的一篇文章:https://www.jianshu.com/p/7ee...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值