首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS SQS -“短轮询”用例

AWS SQS -“短轮询”用例
EN

DevOps用户
提问于 2019-11-21 09:22:35
回答 1查看 656关注 0票数 5

当使用事件驱动的工作处理时,使用AWS、SQS和辅助客户端。经常建议使用长轮询。AWS文档这个这里

本质上,当队列中没有消息时,工作人员不需要不断向队列发出请求(这降低了调用成本),但新消息仍然会立即传递给正在进行长轮询的工作人员。

现在已经用SQS构建了几次小系统,我怀疑短轮询的好处是什么。我认为它可能会稍微快一些,因为在短轮询时只会对SQS服务器的一个子集进行民意调查,但是如果这是唯一的缺点,我还在看什么额外的延迟呢?这取决于我正在处理的消息的数量吗?( SQS服务器是否根据消息数量进行扩展?)

如果有的话,还有什么其他的坏处?

EN

回答 1

DevOps用户

回答已采纳

发布于 2019-11-21 16:04:40

虽然您可以自己对此进行基准测试,但基准测试已经表明,当队列已满时,长轮询和短轮询之间的时间没有太大差别。此外,与短轮询不同,使用长轮询时总是有数据返回。

至于何时使用短轮询,AWS常见问题将涵盖以下内容:

例如,如果应用程序使用单个线程轮询多个队列,则从短轮询切换到长轮询可能不起作用,因为单个线程将等待任何空队列上的长轮询超时,从而延迟对任何可能包含消息的队列的处理。

此外:

..if您的应用程序期望从ReceiveMessage调用中得到立即响应,如果不对应用程序进行一些修改,您可能无法利用长轮询。

如果您不想处理异步队列和处理应用程序中队列的多个线程,那么短时间轮询可能提供一个更容易的开发路径(尽管您必须处理空响应)。

票数 3
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/9879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档