gpt4 book ai didi

api - 流式 API 与 Rest API?

转载 作者:IT老高 更新时间:2023-10-28 22:03:10 27 4
gpt4 key购买 nike

这里的典型示例是 Twitter 的 API。我从概念上理解 REST API 的工作原理,本质上它只是针对您的特定请求向他们的服务器查询,然后您会在其中收到响应(JSON、XML 等),很棒。

但是,我不确定流式 API 在幕后是如何工作的。我了解如何消费它。例如,使用 Twitter 监听响应。从响应中监听数据以及推文以 block 的形式出现。在字符串缓冲区中构建 block 并等待表示推文结束的换行符。但是他们做了什么来完成这项工作?

假设我有一堆数据,我想在本地设置一个流式 API 供网络上的其他人使用(就像 Twitter)。这是怎么做的,什么技术?这是 Node JS 可以处理的事情吗?我只是想了解他们正在做什么以使这件事发挥作用。

最佳答案

Twitter 的流 API 本质上是一个长时间运行的请求,保持打开状态,数据在可用时被推送到其中。

这样做的后果是服务器必须能够处理大量并发打开的 HTTP 连接(每个客户端一个)。许多现有的服务器不能很好地管理,例如 Java servlet 引擎为每个请求分配一个线程,这可能 (a) 变得非常昂贵并且 (b) 快速达到正常的最大线程设置并阻止后续连接。

正如您所猜测的,Node.js 模型比 servlet 模型更适合流式连接的概念。请求和响应都在 Node.js 中作为流公开,但不会占用整个线程或进程,这意味着您可以继续将数据推送到流中,只要它保持打开状态而不会占用过多资源(尽管这是主观的)。从理论上讲,您可以将大量并发打开响应连接到单个进程,并且只在必要时写入每个响应。

如果您还没有看过 HTTP docs for Node.js可能有用。

我也想看看 technoweenie's Twitter client要查看使用 Node.js 的 API 的消费者端是什么样子,the stream() function in particular .

关于api - 流式 API 与 Rest API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960128/

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