哪种 AWS 产品适用于 HTTP 事件流需求?
我们有一个场景,客户端订阅实时事件,并且对于每个新事件,客户端都会在 HTTP 事件流(服务器端事件)处获得事件通知。
它应具有以下特点:
让我们考虑一个使用来自源的实时消息流并将该通知推送到客户端订阅的 HTTP 端点的应用程序。
此外,每个事件可能仅特定于特定客户端,然后该事件应仅由该客户端拉取。
(例如,正在进行现场板球比赛,并且对于每个球,我们都会收到事件。让我们考虑订阅我们的客户是ABC和XYZ,“ABC”需要逐个球的覆盖范围以及每个结束的摘要,但“XYZ”需要只是每个结束的摘要。)
- 我们担心的是,每当我们的任何客户端断开连接时,客户端都会丢失在客户端断开连接之前发布的数据。
(假设ABC再次上线时断开了 10 分钟,它应该会收到断开时最近 10 分钟内发生的所有事件。)
我们尝试了以下产品,并确定了以下限制:
带有 GraphQL 订阅的 API 网关:Api 网关在 29 秒后超时,因此我们的订阅将断开连接。
AWS AppSync 订阅:我们无法根据订阅参数控制突变,因为它是从突变到订阅的一种方式,反之亦然。
AWS SNS 和它作为 HTTP/HTTPS 的扇出端点:我对 AWS SNS 理解的当前行为是将消息推送到准备接受发布请求的 http 端点(例如 http://www.xyz.com/beta/events) ),但我正在寻找一种机制,即客户端正在拉动事件。
如果有人能建议哪种 AWS 产品或其他产品适合我们的 HTTP Event Stream 需求,这对我来说将是很大的帮助。