当前位置:主页 > 查看内容

消息较少时为什么消费不到指定数量的消息?_分布式消息服务 DMS_

发布时间:2021-10-17 00:00| 位朋友查看

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

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

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


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐