是否可以在反应堆中创建大量的Mono实例?

时间:2018-10-30 12:18:35

标签: reactor

我需要向客户端发送数万条消息,每条消息都有一个延迟时间,例如,Message1在发送之前需要延迟10ms,Message2在发送之前需要延迟200ms。 我正在考虑使用电抗器来完成这项工作,我正在考虑为每个消息创建一个Mono并调用delayElement方法,以便基于延迟来发出消息。 但是问题在于,将会有太多的Mono实例。 这是使用电抗器的正确方法还是有任何建议?

1 个答案:

答案 0 :(得分:0)

如果延迟是动态的,那么这是最好的解决方法

   Flux.just(messages)
            .flatMap(o -> Mono.just(o)
                    .delayElement(Duration.ofSeconds(o.getDelay())))