gpt4 book ai didi

amazon-web-services - 用于浏览器轮询的 Amazon SQS?

转载 作者:行者123 更新时间:2023-12-05 02:13:40 27 4
gpt4 key购买 nike

我想知道 AWS SQS 是否是进行浏览器轮询的正确服务。

例如:

1) 用户通过浏览器访问应用程序,并请求生成一个大的PDF

2) API 返回“OK”给用户并将请求转发给 SQS

3) 生成 PDF 并将其存储到 S3 的 lambda 正在读取 SQS 队列。

现在,在第 2 步和第 3 步之间的某个时间点,用户浏览器想知道 PDF 何时完成(没有电子邮件),它可以通过轮询 SQS 来获取特定的消息 ID(这甚至可能吗?)但我有一些问题:

a) 用户和 lambda 从 SQS 读取同一条消息是否“可以”?如果有太多用户通过轮询请求使 SQS 过载怎么办?

b) 能否编辑/更新 SQS 消息?用户如何知道 lambda 完成了 PDF 并获得了下载链接? lambda 能否将消息编辑为包含指向 S3 的链接?如果不是,推荐的方式/AWS 服务是什么让用户知道 PDF 何时完成而不浪费太多资源?

而且最好不需要为此使用数据库...我们确实没有太多用户,但我们正在努力使事情变得正确并面向 future 。

标记 boto,因为我正在用 Python 完成所有这些……最终。

最佳答案

我建议将 Web 套接字作为一种将通知推送回浏览器的方法,而不是让浏览器轮询(即定期发送 GetObject API 调用)S3 中的 PDF 文件。如果生成 PDF 时发生错误,这种方法将帮助您通知浏览器。

详情请看https://www.youtube.com/watch?v=3SCdzzD0PdQ (从 6:40 开始)。

在 10:27,您会找到一个与您要实现的目标相匹配的图表(用 S3 替换 DynamoDB 组件)。

我还认为,通过比较 S3 定价 [1] 与 Web 套接字定价 [2],与轮询方法相比,基于 Websocket 的方法更便宜。但是您需要进行测试(反射(reflect)生产工作负载)并验证这一点。

[1] https://aws.amazon.com/s3/pricing/#Request_pricing[2] https://aws.amazon.com/api-gateway/pricing/ 中的“WebSocket API”

关于amazon-web-services - 用于浏览器轮询的 Amazon SQS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54752877/

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