文档首页 > > 常见问题(仅存量用户使用)> 消息较少时为什么消费不到指定数量的消息?

消息较少时为什么消费不到指定数量的消息?

分享
更新时间:2019/05/05 GMT+08:00
  • 全局有序的普通队列为单分区,每次消费请求都能获取指定数量的消息,除非队列中消息数少于指定的消费数量。
  • 其他队列采用了多分区设计方式,实现消息分布式处理,提升消费并发度,可同时处理同一个消费组的多个消费请求。同一个消费组中单个请求只能消费单个分区中的消息,以避免跨分区访问和管理带来性能损失。因此当队列中可消费消息数量较少时,可能出现单次消费获取不到指定数量的消息数的情况(即使队列可消费消息数大于指定数量)。

    图1所示,队列中共有12条消息,分布式存储在3个Partition中。当消费请求指定消费数量为10时,由于单次只能消费一个分区的消息,比如Partition 0,则该请求只能消费到4条消息,然后依次消费Partition 1和Partition 2中的消息。

    图1 单个请求只能消费一个分区中的消息

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问