在 Flux.concatMap 中预取
Prefetch in Flux.concatMap
预取在Flux.concatMap中的具体用法是什么?在文档中,它是 "the inner source produced demand"。但是,如果我的内部源产生的值超过预取值,它们将由 concatMap 发出。
Javadoc中对参数的描述不是最清楚的。恕我直言,更好的描述是:
The number of elements requested from the inner source / publisher for its first request.
预取本质上是反应器中的一种优化,试图确保下游操作员始终有足够的容量来保持忙碌。 reactor 不是一个一个地请求元素,而是预先请求多个项目(预取值,默认 32),然后在持续耗尽 75% 时请求该值的 75%。
reactor documentation on backpressure 中对此进行了介绍,如果您还没有阅读过,值得一读。
预取在Flux.concatMap中的具体用法是什么?在文档中,它是 "the inner source produced demand"。但是,如果我的内部源产生的值超过预取值,它们将由 concatMap 发出。
Javadoc中对参数的描述不是最清楚的。恕我直言,更好的描述是:
The number of elements requested from the inner source / publisher for its first request.
预取本质上是反应器中的一种优化,试图确保下游操作员始终有足够的容量来保持忙碌。 reactor 不是一个一个地请求元素,而是预先请求多个项目(预取值,默认 32),然后在持续耗尽 75% 时请求该值的 75%。
reactor documentation on backpressure 中对此进行了介绍,如果您还没有阅读过,值得一读。