java如何控制流量
使用Reactor,我想限制从通量发布事件的速率,例如,最大为10 Hz,同时丢弃中间的所有元素。我唯一发现的是delayElements()
,但是如果元素以更快的速度到达,这将使元素排队,对吗?我想做一些类似someFlux.throttle(10).subscribe()
的事情,使通量以每秒最多10个元素的速度返回
你可以在下面搜索框中键入要查询的问题!
使用Reactor,我想限制从通量发布事件的速率,例如,最大为10 Hz,同时丢弃中间的所有元素。我唯一发现的是delayElements()
,但是如果元素以更快的速度到达,这将使元素排队,对吗?我想做一些类似someFlux.throttle(10).subscribe()
的事情,使通量以每秒最多10个元素的速度返回
# 1 楼答案
有一个
sample(Duration)
,因此您可以执行以下操作:(100毫秒=十分之一秒,因此每100ms最多只能得到1个元素,即每秒10个元素)
< >编辑:对于一个正确的^ {< CD2>},还考虑^ {< CD3>}以删除在100MS内传播的项目的所有项。