project-reactor 框架

概述

真正的响应式,服务端实现,实现了 Reactive Streams 规范

what’s reactor

  1. 一个基于事件,异步处理高并发服务请求的框架,集成了 java 8的 函数式 api

    • CompletableFuture
    • Steam
    • Duration
  2. 通过reactor-netty支持非阻塞进程间通信

    • 适合微服务架构
    • Reactor Netty 提供 HTTP(包括 Websockets), TCP, UDP 的背压就绪网络引擎
  3. hot/cold

    • cold 为每一个订阅都重新生成数据,从头开始,总能收到产生的全部数据
      • defer(每次订阅都是相同的返回)
    • hot 持续不断的产生消息,订阅者只能获取订阅之后产生的消息
      • just
      • share
      • replay
  4. 提供 Flux/Mono

    • return 一个 mono, 先返回 mono ,这个 mono 包装好各种方法, 把 方法放到调用里面,看起来是异步,实际上同步,只不过阻塞是发生在 Web 容器(Netty)里面
    • Router
      • 约等于 @Controller + @RequestMapping
    • Handler
      • controller 里面的方法
    • create
      • 可以创建 Mono, Flux,异步
    • generate
      • 只能生成 Flux,同步
    • Disposable
      • cancel-and-clean-up,stop producing values and clean up any resources it created
  5. Mono

    • onNext 和 onError 不能同时用,因为最多一个 single
  6. 弹珠图

作者

操先森

发布于

2021-08-17

更新于

2021-09-16

许可协议

评论