实时代理建议?
Posted
技术标签:
【中文标题】实时代理建议?【英文标题】:Real-time Proxy Suggestions? 【发布时间】:2021-01-04 15:37:15 【问题描述】:我们正在使用 React.js 构建一个 Web 应用程序。我们打算让它(前端)保持一个持久连接,通过它它将接收服务器发送的事件以更新其状态。但我们也希望它能够很好地横向扩展。所以我们的后端必须是无状态的。
我们需要一些东西来弥合前端和后端之间的差距。管理持久的前端连接并允许后端调用它以调度服务器发送的事件的东西。
到目前为止,我们找到了一个可以解决这个问题的候选者。商业解决方案称为Fanout,开源变体(似乎很难扩展)称为Pushpin。它们被称为“实时代理”。
我很难相信这些似乎是一个相当普遍的问题的唯一解决方案。我们想探索替代方案。有什么建议吗?
【问题讨论】:
【参考方案1】:Pushpin 主要开发人员(和 Fanout 创始人)在这里,所以我有偏见。
我们想探索替代方案。有什么建议吗?
作为关注这个空间的人,在撰写本文时(2021 年 3 月),我认为与 Pushpin 最接近的替代品是:
AWS API Gateway。这仅支持 WebSockets(不支持 SSE 或其他基于 HTTP 的流),但它似乎以通用方式进行。它可能可以用来实现任意 WebSocket API 定义。
Nchan。这提供了一些类似代理的行为,尽管它的 API 模式有些固执己见。它可能可以用来实现一些 HTTP/WebSocket API 定义,但不是任意的。
我很难相信这些似乎是一个相当普遍的问题的唯一解决方案
这也经常让我感到惊讶。我认为这可以解释为实时 API 开发往往相当粗糙并且涉及自以为是的决策。开发人员通常关心满足他们所在公司的要求,而不是使他们的解决方案可移植到其他公司的要求。以一般的方式解决这个问题并不明显。
例如,Uber recently wrote 关于他们的实时平台,但他们不会向其他人提供解决方案,即使他们这样做了,它也会充满 Uber 主义,以至于其他人无法使用。充其量你可以采纳他们的一些想法并构建你自己的只有你的公司才能使用的实时平台。 ;)
【讨论】:
以上是关于实时代理建议?的主要内容,如果未能解决你的问题,请参考以下文章
重新定义实时视频时代,拍乐云发布国内首个 AV1 编码引擎 Pano Venus
海信携手Yi+AI 开启电视全场景实时视频识别新时代|京通社头条