关于响应式编程的概念和介绍可以参考:
响应式编程(Reactive Programming)是什么?
Java语言中,RxJava和Reactor是实现响应式编程的两个最流行的库,因为 Spring 5 及更高版本中,Reactor 是 Spring WebFlux 的底层实现框架,用于构建响应式 Web 应用,所以相比而言,Reactor的使用更为广泛。
Reactor实现了响应式流(Reactive Streams)规范,用于在 JVM 平台上构建非阻塞异步应用。
Reactor 基本概述
- Reactor 基于响应式流规范(Reactive Streams Specification)的第四代响应式库。
- Reactor 是一种高性能的并发处理机制,主要在网络编程和事件驱动系统中得到广泛应用。它起源于多路I/O复用中的select、poll、epoll等网络模型,被设计为一种事件驱动的处理框架。
- Reactor的核心理念是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程/进程阻塞在多路复用器上。一旦有I/O事件到来或准备就绪(如文件描述符或socket可读、可写),多路复用器会返回并将事先注册的相应I/O事件分发到对应的处理器中。
- Reactor是Project Reactor的一部分,它是Spring Framework 5中引入