使用 AWS SNS/SQS 替换客户端轮询

问题描述 投票:0回答:1

问题陈述

我有一个应用程序,其中客户端(前端)的数据需要近实时更新。

后端更新数据库中的字段。有一个 GET 端点,它查询数据库并发送此数据库字段上的数据作为响应。客户端每 2 秒间隔持续轮询此 GET 端点,因此服务器上始终存在巨大的流量。

我想用 AWS 主题替换轮询。服务器将发布有关该主题的消息,客户端将订阅这些主题,并且任何更新数据都应显示在客户端。我不想使用传统的长轮询或 websocket 方法,而是想通过 AWS SNS/SQS 主题机制来解决这个问题

问题

我无法理解如何使用 AWS SNS 来实现这一点。目前,我已经在SNS中创建了一个主题,并希望客户端订阅该主题以获取实时更新。要订阅 SNS,我正在考虑使用 HTTP/S 端点,该端点将在消息推送到主题时触发,但不确定客户端如何能够订阅此

  • 我是否需要在服务器端创建一个虚拟订阅端点,然后客户端使用它。客户端使用这些数据的机制是什么?

(或)

  • 我需要将 SQS 与 SNS 结合起来吗? SQS会订阅SNS主题,然后客户端会订阅SQS队列来获取这些数据?

重要时使用的框架:

  • 后端/服务器端(Django)
  • 前端/客户端(React js)
amazon-web-services amazon-sqs amazon-sns polling
1个回答
0
投票

如何查看 SSE https://dev.to/cloudx/backend-to-frontend-communication-with-server-sent-events-56kf ?

您仍然需要在后端实现它,所以不确定您是否真的需要使用 SNS 或 SQS 使其变得过于复杂,因为只有您的后端可以与它们通信,而不是前端。

希望它能为您的问题提供另一种可能的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.