栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

RocketMQ(七)——消息的消费

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RocketMQ(七)——消息的消费

文章目录
    • 消息的消费
      • 消费的类型
        • Pull方式
          • 缺点:
          • 优点:
        • Push方式
          • 缺点
          • 优点:
      • 消费的模式
        • 广播消费
        • 集群消费
        • 消费进度的保存

消息的消费 消费的类型
  • 消费者从Broker中获取消息的方式有两种:Pull(拉取)方式和Push(推送)方式
Pull方式
  • Consumer主动从Broker中获取消息,主动权在Consumer。一旦获取了批量消息,就会启动消费过程
缺点:
  • 实时性较弱,Broker中有了新的消息时,消费者不能及时发现并消费
优点:
  • 便于应用控制消息的拉取
Push方式
  • Broker 收到消息后会主动推送给Consumer,该方式获取实时性较高

  • 该方式是典型的发布-订阅模式,即Consumer向其关联的Queue注册监听器,一旦发现有新的消息到来就会触发回调,回调方法时Consumer去Queue中拉去消息。这些都是基于Consumer与Broker之间的长连接。而长连接是需要消耗资源的

缺点
  • 会占用较多的系统资源
优点:
  • 封装了对关联Queue的遍历,实时性强
消费的模式 广播消费

广播消费模式下,相同Consumer Group的每个Consumer实例都接收同一个Topic的全量消息。即:每条消息都会被发送到Consumer Group中的每个Consumer。

集群消费

集群消费模式下,相同Consumer Group的每个Consumer实例平均分摊同一个Topic的消息。即每条消息只会被发送到Consumer Group中的某个Consumer。

消费进度的保存
  • 广播模式:消费进度保存在Consumer端,广播模式下consumer group中每个consumer都会消费所有消息,但它们的消费进度是不同。所以consumer各自保存各自的消费进度
  • 集群模式:消费进度保存在broker中。consumer group中的所有consumer共同消费一个Topic中的消息,同一条消息只会被消费一次。消费进度会参与到消费的负载均衡中,所以消费进度需要共享。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/680533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号