首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CloudQueue GetMessage vs GetMessages

CloudQueue GetMessage vs GetMessages
EN

Stack Overflow用户
提问于 2012-10-09 21:23:58
回答 2查看 3.3K关注 0票数 1

我想知道使用GetMessage和GetMessages逐个获取消息的开销是多少?我应该一直使用GetMessages(32)吗?它比GetMessage()有什么优势吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-09 21:38:57

假设您的队列中有32条消息,并且您的意图是获取队列中的所有消息,如果您调用GetMessage(),您将需要进行32次调用才能获取所有消息,因此需要32个API事务,而如果您调用GetMessages(32),您将只进行一次调用来获取所有消息,因此只有一个事务。

更重要的是,我认为这取决于你的应用。例如,我一直在使用这个功能,我决定我的应用程序的worker角色(让我们称之为"consumer")实例一次可以处理4条消息。在这种情况下,对我来说,最好使用GetMessages(4)从队列中获取4条消息,并确保由我的使用者实例处理的4条消息对其他调用者不可见。如果我使用了GetMessage(),那么我将不得不进行4次调用,如果我使用GetMessages(32),那么我的消费者实例将只停留在这额外的28条消息上,而其他消费者实例将没有机会处理这些消息。

票数 5
EN

Stack Overflow用户

发布于 2012-10-10 22:27:10

基于你的应用程序,调用GetMessages是有意义的。如果按照设计,批量处理消息对我来说更有效率,那么我应该批量处理它们(小消息,处理其中一条消息的开销很低),但是如果处理一条消息需要1-5分钟,那么您最好使用GetMessage,而是让多个工作者角色来做这项工作。

因此,这取决于

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

https://stackoverflow.com/questions/12801076

复制
相关文章

相似问题

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