spring-webflux - Flux.concatMap 中的预取

标签 spring-webflux project-reactor

Flux.concatMap 中 prefetch 的具体用法是什么?正如文档中所描述的,它是“内部来源产生的需求”。但如果我的内部源产生的值超过预取值,它们就会由 concatMap 发出。

最佳答案

Javadoc 中对参数的描述不是最清楚的。恕我直言,更好的描述是:

The number of elements requested from the inner source / publisher for its first request.

预取本质上是 react 器中的一种优化,以确保下游操作符始终有足够的容量来保持忙碌。 reactor 不是逐一请求元素,而是预先请求许多项(预取值,默认 32),然后在持续耗尽 75% 时请求该值的 75%。

这在 reactor documentation on backpressure 中有介绍。 ,如果您还没有读过,值得一读。

关于spring-webflux - Flux.concatMap 中的预取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62023788/

相关文章:

java - 为响应式(Reactive)管道编写方面

java - 如何将 Mono 变成真正的异步(非响应式!)方法调用?

java - 如何在 Spring Boot 中手动引导测试(不使用 @SpringBootTest-Annotation)

reactive-programming - Flux 和 Mono 中的 compose() vs. transform() vs. as() vs. map()

jakarta-ee - 是否有在 Java/JakartaEE 中引入响应式(Reactive)编程结构的建议?

Spring Webflux ErrorHandling - 带有@ExceptionHandler 或 DefaultErrorAttributes 的 @RestControllerAdvice?

java - 如何等待订阅完成?

spring-webflux - 获取 web 客户端 web-flux 的响应时间

spring-webflux - 如何在spring-webflux中获取当前请求的上下文

java - 映射时返回 Mono<Object> 而不是 Mono<ResponseEntity> (Java 8)