我一直试图在网上澄清这个问题一段时间但没有成功,所以我会尝试在这里提问。
我想找到一些资源或示例,其中展示了如何构建端到端完全背压的 REST 服务 + 客户端。我的意思是,我希望看到,给定一个实现响应式流的 REST 客户端(无论是在 Akka、JS 还是其他语言中),我将(并且能够“可视化”)整个过程中处理的背压。构建 REST 服务器,例如与 Akka-Http。
需要明确的是,我正在寻找类似以下演讲的内容(但我找不到幻灯片或视频来确认):http://oredev.org/2014/sessions/reactive-streaming-restful-applications-with-akka-http http://oredev.org/2014/sessions/reactive-streaming-restful-applications-with-akka-http
我对我看到的大多数示例的怀疑是这样的:我可以找到很多 REST 服务(服务器)在后端使用 Akka Http 和 Akka 流的情况,但我不确定背压是通过 HTTP“通信”的和 REST(如果客户端正在实施响应式流)。在这种情况下,我会有一个通过 TCP/HTTP 桥接的“流”还是只有 2 个独立的流?这是我主要的疑问和困惑。
希望我说得足够清楚,有人能够对此事做出一些解释。
无论如何,谢谢!
您来对地方了,可以向 Akka 提问 :-)
我知道有两个演讲展示了背压机制在使用 http 时如何真正工作。
1)一是Roland Kuhn 在 ScalaDays SF 2015 上的演讲 https://www.parleys.com/tutorial/akka-http-reactive-web-toolkit:
http 演示的反压在本次演讲的第 44 分钟左右开始。
2) 我在 2015 年华沙 ScalarConf 上的演讲 https://www.youtube.com/watch?v=WnTSuYL4_wU。溪流部分在18分钟左右开始,
反压演示出现在第 24 分钟左右。它显示了“快速处理”和“慢速处理”服务器,您可以在其中看到
上传文件时,curl 客户端会受到反压(我使用文件作为示例,因为这是一个很好的“大请求”)。
由于 TCP 内置机制,背压被传播到客户端 - 在服务器端,我们根本不从套接字读取
直到有需求,这会导致背压正确传播。
我希望这有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)