使用 Spring webflux,与返回<Foo>完全实现的 Foo 实例相比,返回 Mono 是否会降低序列化成本?



我正在转换我的数据服务以使用MongoDB反应驱动程序。通过我查询信息的方式(同时在几个部分中(,它使我能够更高效、更快地协调所有活动。

到目前为止,这个API的使用者还没有准备好转换,所以在将完全实现的对象返回到rest方法返回到客户端之前,我最终调用了Mono.zip(...).blockOptional。但我想知道我是否可以从返回Mono中受益,并且仍然可以获得一些好处,即使我的数据服务API的消费者还没有准备好完全转换为响应式。

在两个服务之间的Spring web序列化/反序列化中返回Mono保存会吗?目前,这是整个数据流中最昂贵的部分。还是返回Mono或对象本身在时间和性能上基本相同?

是的,我理解让整个数据流完全被动的好处,我也同意这是最好的方法。但是,就目前而言,我正在努力了解在去";完全反应";。

当您返回Mono或Foo时,串行化没有区别。是否阻塞线程是有区别的。

简单地说,当您返回Mono或flux时,每次IO跳闸都不会阻塞线程,但一旦您的数据离开服务,它就会串行化为json

此外,一旦在反应式api上调用block(),就没有任何好处。

reactive的主要思想不是让api更快,而是让你的api处理更多。因此,如果你有一项服务完全响应,而其他消费者没有,那么你仍然有好处,因为你的服务将能够处理更多的消费者

相关内容

  • 没有找到相关文章

最新更新