Advertisement

Reactor 3, Backpressure Application

阅读量:
在这里插入图片描述

存在一种情形,即上游向下游传输的数据需要进行处理,但由于上游推送速度较快,而下游因资源限制无法及时处理;若此时仍然不限制上游的传输速率,则可能导致问题。为此,Reactive Streams 提供了一种解决方案,即通过 request 机制向上游发送信号并指定接收数据的数量;借助这一方式,可将原本的 push 模型转变为 push-pull hybrid 模型,这种操作正是 backpressure 的应用方式。

通过编写Subscriber实现backpressure

以下将介绍一种较为基础的backpressure实现方式,其核心在于通过定义Subscriber来调控请求数据量的规模:

复制代码
    @Test
    public void rawBackPressure () {
    Flux<String> flux = Flux.range(1,10)
            .map(i -> String.valueOf(i))
            .log();
    
    flux.subscribe(new Subscri

全部评论 (0)

还没有任何评论哟~