From de65d0a2087b61e6baebe71d4d1f0202d2c9e53a Mon Sep 17 00:00:00 2001 From: asahi Date: Tue, 25 Mar 2025 12:49:31 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E9=98=85=E8=AF=BBreactor=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring/webflux/Reactor.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring/webflux/Reactor.md b/spring/webflux/Reactor.md index 0dc745f..d614605 100644 --- a/spring/webflux/Reactor.md +++ b/spring/webflux/Reactor.md @@ -282,6 +282,8 @@ prefetch机制通常分为如下部分: ##### 补充优化(Replenishing Optimization) prefetch的补充优化通常采用75%的启发规则,一旦操作符发现75%的预取元素已经被处理(32 *0.75 = 24),其自动会向上游发送一个新请求,要求补充75%的prefetch量。该过程是动态的,会在整个数据流处理过程中持续进行。 +> 例如,prefetch的大小为10,其limit对应的值为`ceil(10 * 0.75) = 8`,每当其下游被处理的元素达到8个,其会重新请求8个数据,并且将`被下游处理元素的个数`重置,重新从0开始计数,直到该值再达到8,再次发送请求 + > ##### 预加载数据 > 补充优化的优化点在于,当预取数据还剩余25%(8个)未被处理时,提前在请求75%的数据,可以避免在下游处理完剩余数据后,需要等待上游推送新的数据(消费速率大于生产速率造成消费者饥饿)。