文章目录

  • 消息的消费
    • 消费的类型
      • 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中的消息,同一条消息只会被消费一次。消费进度会参与到消费的负载均衡中,所以消费进度需要共享。

RocketMQ(七)——消息的消费相关推荐

  1. 记录Rocketmq定时消息不消费问题的排查过程

    记录Rocketmq定时消息不消费问题的排查过程 写在前面 问题根源初步确认 问题根源再次确认. 了解rocketmq定时消息原理以及处理过程. 源码调试 结论求证 后记 写在前面 此本记录了一个项目 ...

  2. RocketMQ发送消息和消费消息

    RocketMQ发送消息和消费消息 一.使用前配置 二.启动命令 三.pom.xml文件配置 四.编码 4.1 先定义一个消息保存的载体: 4.2 定义消息的发送者: 4.3 定义消息的消费者: 五 ...

  3. RocketMQ常见问题-消息重复消费和消息重复的问题

    RocketMQ不解决消息重复问题,RocketMQ不解决消息重复问题,RocketMQ不解决消息重复问题,重要的事情说三遍. 基本上说我很讨厌有人问这个问题,问这个问题首先你对消息的生命周期缺乏理解 ...

  4. RocketMQ消息重复消费场景及解决办法

    消息重复消费是各个MQ都会发生的常见问题之一,在一些比较敏感的场景下,重复消费会造成比较严重的后果,比如重复扣款等. 那么在什么情况下会发生RocketMQ的消息重复消费呢? 当系统的调用链路比较长的 ...

  5. RocketMQ事务消息

    文章目录 事务消息 RocketMQ事务流程概要 RocketMQ事务流程关键 事务消息的使用约束 分布式事务场景分析 场景案例 RocketMQ事务消息设计分析 消费事务消息 事务消息 Rocket ...

  6. RocketMQ消息消费源码分析(二消息的消费)

    首先回到DefaultMQPushConsumerImpl  start方法 public synchronized void start() throws MQClientException {sw ...

  7. rocketmq 消息指定_SpringBoot 整合 RocketMQ 如何实现消息生产消费?

    有时候我们在使用消息队列的时候,往往需要能够保证消息的顺序消费,而RocketMQ是可以支持消息的顺序消费的. RocketMQ在发送消息的时候,是将消息发送到不同的队列中,然后消费端从多个队列中读取 ...

  8. RocketMQ事务消息从生产到消费原理详解(包括回查过程)

    名词解释 half消息(生产者发送的Prepare消息):发送到MQ Server但无法被consumer消费的消息,暂时存在MQ Server,需要收到生产者二次确认后才能被消费 消息回查:一些意外 ...

  9. RocketMQ如何保证消息顺序消费?又为何不解决消息重复消费问题?

    消息的顺序消费对于业务系统来说非常重要,一笔订单产生了3条消息,分别是订单创建.订单付款.订单完成.消费时,必须按照顺序消费才有意义,与此同时多笔订单之间又是可以并行消费的. 如何保证消息顺序消费? ...

最新文章

  1. OpenAI探索机器人模拟训练新方法:仿真与真实世界无缝衔接
  2. pyecharts x轴全显示_超详细Pyecharts 1.x 教程,让你的图表动起来
  3. fms3 NetConnection.Connect.Rejected 问题
  4. java13种技术_JavaEE的13种核心技术
  5. 豆瓣9.6分!再一次被BBC的纪录片震惊!
  6. cacti的安装和配置
  7. dbcc 删除日志_有用的DBCC日志命令
  8. ”消费全返“是割韭菜,非也,广告电商引领全新“全返”模式
  9. 用CHATGPT做微信视频号和抖音大神,就这几步!
  10. vi中方向键和删除键
  11. react 监听键盘事件及多按键事件
  12. 如何用数学课件制作工具绘制函数图像
  13. Unity下载文件并显示进度
  14. Unity SKFramework框架(二十五)、RSA算法加密、签名工具 RSA Crypto
  15. 浅谈我的建站经验之导航设置
  16. 互联网办公地点搬迁(北上深杭)
  17. 图片放大不清晰怎么办?​无损放大可解决
  18. java中new一个对象要经历哪些过程
  19. process lasso 优化原理
  20. 用友软件首席架构师   黄义璋

热门文章

  1. 如何让CentOS8虚拟机与主机相互Ping通
  2. 数据库笔记03:管理数据表中的数据
  3. 【BZOJ3669】【codevs3314】魔法森林,写作LCT,读作SPFA
  4. 【BZOJ2659】算不出的算式,打表找规律
  5. cli dll打包 vue_vue-cli3使用 DllPlugin 实现预编译提升构建速度
  6. mysql 空字符串_NULL与MySQL空字符串的区别
  7. bzoj2286 [Sdoi2011]消耗战 单调栈+lca
  8. 20178.27 万径人踪灭 思考记录
  9. 【英语学习】【Level 08】U04 What I love L5 Breathe in, breathe out
  10. 三级网络技术_中小型网络系统总体规划与设计方法