核心接口包括:Publisher
(1)Publisher
Publisher接口代表数据流的生产者,根据收到的请求向Subscriber发布数据。接口定义如下:
public interface Publisher<T> {
void subscribe(Subscriber<? super T> s);
}
(2)Subscriber
Subscriber代表数据流的消费者,负责订阅并接收Publisher发布的数据。接口定义如下:
public interface Subscriber<T> {
void onSubscribe(Subscription s);
void onNext(T t);
void onError(Throwable t);
void onComplete();
}
(3)Subscription
Subscription代表一种订阅上下文对象,用于管理Publisher和Subscriber之间的订阅关系。Subscription是确保发布者和订阅者针对数据处理速度达成一种动态平衡的基础,也是流量控制中实现背压机制的关键。接口定义如下:
public interface Subscription {
void request(long n);
void cancel();
}
(4)Processo
Processo
public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {
}
Processo
其他相关内容参考:
Spring响应式编程之Reactor介绍
Spring响应式编程之Reactor背压机制
Spring响应式编程之Reactor核心组件
Spring响应式编程之Reactor操作符