gpt4 book ai didi

servlets - 在 Servlet 中使用 java 9 Flows 的 react 流用例?

转载 作者:行者123 更新时间:2023-12-04 02:18:52 26 4
gpt4 key购买 nike

我正在寻找在 servlet 容器(或只是 HTTP 服务器)中使用 react 流的用例。

Jetty project已经开始被问到:“Jetty 是响应式(Reactive)的吗?”我们注意到 proposal将 react 流添加到 java 9。

所以我们开始了some experiments使用响应式流 API 进行异步 servlet IO,这很有趣……但缺乏任何关注点,因为我们缺乏真正的用例来关注哪些问题是最重要的。

那么是否有人有任何好的用例可以分享/解释,以便我们可以指导我们的 jetty 实验来满足他们的需求。我想象的那种事情是让基于 RS 的数据库发布者在 HTTP 响应或 websocket 连接上一路发送对象,使用 Flow.Processors 进行转换。

最佳答案

一个可行的用例是在使用多部分表单数据的 POST 时,尤其是在上传文件时。

Typesafe ConductR项目(免责声明:我是它的技术主管),当用户加载包时接收多部分表单数据。我们使用 akka-streams/http .

我们读取了流的前两部分,因为我们的协议(protocol)规定它们必须声明一些元数据,以便我们知道将包写入哪个节点。经过一些验证,我们然后确定将它们写入的节点,并连接部分消费的流。因此,接收到上传捆绑包请求的节点会协商将其写入哪个节点,而不必消耗整个流(可能是 200MB)然后再次将其写出。

写出多部分表单数据也是一个很好的用例,因为您可以从磁盘流式传输文件作为源并将其传递到某个 http 端点,即我上面描述的客户端。

这两种用例的好处是可以最大限度地减少在网络上移动字节所需的内存量,并且只在必要时执行文件 IO。

关于servlets - 在 Servlet 中使用 java 9 Flows 的 react 流用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30904782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com