我想定期触发来自后端的推送通知。最好的方法是什么?我正在考虑有一个 cron 表达式,我将每分钟安排一次。我正在开发股票应用程序,我需要向用户发送有关股票上涨或下跌的通知。我已经将前端和后端与作为客户端触发器的通知集成在一起。但是我需要从后端触发它,而无需客户端每秒触发它,因为它会影响性能。
我的应用程序位于 react、node 和 AWS lambda 中。
如果 Lambda 事件不需要来自后端的信息(即它可以执行自己的查找(,那么您可以通过 CloudWatch Event 使用计划表达式计划每分钟调用一次它。
但是,如果Lambda 要求现有脚本按原样运行,但按计划运行,那么您将考虑为其使用 cron。
您可以使用 CloudWatch Events 计划 AWS Lambda 执行: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/RunLambdaSchedule.html
如果您有无服务器架构,则应考虑使用 SNS。您可以将 Lambda 函数设置为将 SNS 事件作为回调进行跟踪。
如果你在 NodeJS 中有一些后端服务器,你可能想要使用 WebSocket 连接。在这种情况下,间隔或 CRON 作业都可以。
一个有趣的选择是使用云监视事件将数据推送到SNS。
物联网核心通过SDK订阅和收听同一SNS主题。有关以下帖子的更多详细信息。
"SDK 会自动管理 WebSocket 连接,还可以处理 Web 应用程序中的许多常见连接问题。消息使用主题进行分类,主题是定义消息通道的字符串。
AWS IoT Core 服务管理后端发布者和前端订阅者之间的广播。这将启用扇出功能,当多个订阅者正在侦听同一主题时,就会发生这种情况。可以使用此机制将消息广播到数千个前端设备。对于 Web 应用程序集成,这是实施发布-订阅比使用 Amazon SNS 更可取的方式。
https://aws.amazon.com/blogs/compute/managing-backend-requests-and-frontend-notifications-in-serverless-web-apps/