繁体   English   中英

助焊剂和 Mono 的用例

[英]Use case of Flux and Mono

我是 Flux 和 Monos 的新手,最近,在使用findAll()方法时,我意识到这个方法能够返回部分响应,即通过 Flux,如果我需要做 append a block()需要 CosmosDB 中的所有记录。

我想知道拥有带有部分记录的 Flux 的真实世界用例或目的可能是什么?

反应式编程的整个思想是将处理项目的方法从拉变为推。

这意味着您可以一件一件地处理收到的物品。

想象一下情况,当您的物品到达时,通量和处理时间延迟 3 秒,而您的申请中收到的物品是 2 秒。 如果通量将包含 20 个项目,那么您需要等待 60 秒才能获得整个数据(20 个项目),然后您需要再等待 40 秒才能处理项目。

使用响应式方法,您可以一个一个地消耗它们,因此,您的处理在 60 秒后完成。

部分结果处理的例子可能是一些 API 有限制 - 最多可以返回 2000 条记录(Salesforce 是有这个限制的平台)。 因此,如果您想提取所有这些记录 - 例如。 50 000 - 您需要调用 rest API 25 次。 该服务可能具有网络延迟 + 查询时间,因此部分处理它会很有用。

重要的!

block()不是使用 Reactor API 的正确方法

请参阅: 如何从反应 java 中的 Mono<String> 获取字符串

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM