消息消费启动流程|学习笔记

简介: 快速学习消息消费启动流程

开发者学堂课程【RocketMQ 知识精讲与项目实战(第三阶段)消息消费启动流程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/704/detail/12494


消息消费启动流程


消息消费启动流程

消费者的一个启动流程,在启动的时候它都做了哪些事情,以推模式作为讲解的例子,推模式应该找哪个类?它应该找的是DefaultMQPushConsumer这个类,启动要找 start 方法,在 start 方法当中启动逻辑是封装到了IMPL这么一个类当中,在这个类里面都做了哪些事?

image.png

首先它去检查一下消息消费的一个合法性,去做了一个消息消费的合法性的一个检查,检查一下这些必要的信息。然后去做了一个构建主题的订阅信息,通过这么一个方法去构建了订阅的主题。紧接着它就是构建了客户端与服务端进行交互的一个重要的类,通过这个类可以去请求 RocketMQ的服务端。紧接着下边构建了负载均衡实现的服务,把负载均衡实现的服务进行了一个对应的构建,这里设定了这个负载均衡的一个策略等等。然后下边是基于当前消息的模式去确定一下消息的进度存储的位置,如果是广播模式,那么这个消息的消费的进度存储到本地,如果是集群模式,它把这个消息的一个消费进度存储到远端,整个的都设置完了之后,紧接着创建了消息消费服务,把消费服务创建出来了。如果顺序消息,那么它就创建了consumer message orderly  service,如果是并发去消费就不存在顺序性,那么它就是consumer concurrently service,就会把消息服务去启动起来,启动起来之后消息的服务如果要去获得这个消息,就要通过 MQ 客户端去请求 boolean ,拿到消息之后把消息再去进行处理,所以要把消息的消费服务注册到客户端,把客户端也再去启动起来,以上就是整个消息消费在启动的时候所做的一些事情。

相关文章
|
数据采集 机器学习/深度学习 SQL
如何构建高效的数据分析流程:从技术视角出发
【7月更文挑战第22天】构建高效的数据分析流程是一个持续迭代的过程,需要技术团队与业务团队的紧密合作。通过不断优化流程,企业可以更加高效地利用数据资源,为业务决策提供有力支持。
Vue3卡片(Card)
这是一个基于Vue3的卡片组件库,提供多样化的卡片展示效果,包括不同尺寸、加载状态及自定义样式等。支持设置宽度、标题、边框等属性,并可通过`loading`参数显示加载占位符。
815 1
Vue3卡片(Card)
|
Java Android开发
如何用eclipse中打开已存在的Java项目
如何用eclipse中打开已存在的Java项目
258 0
|
关系型数据库 MySQL 数据库
MySQL8报错:Public Key Retrieval is not allowed
MySQL8报错:Public Key Retrieval is not allowed
6342 1
|
算法 前端开发 API
Gradio库的安装和使用教程
Gradio库的安装和使用教程
1697 0
|
消息中间件 Kafka
Cannot set the value of read-only property ‘additionalSourceDirs‘ for task ‘:jacocoRootReport‘ of
这个问题是gradle的build版本问题,我是在build kafka的老版本时报的错,这个问题我查了一遍网上的内容,发现很多博客忽略了IDEA settings关于gradle的build的一个配置。
671 0
Cannot set the value of read-only property ‘additionalSourceDirs‘ for task ‘:jacocoRootReport‘ of
|
网络架构
Cisco Packet Tracker教程:主机直接互联、DHCP配置互联
利用Cisco Packet Tracer实现了主机直接互联通信,通过路由器建立DHCP池分配给主机IP进行通信。
1498 1
Cisco Packet Tracker教程:主机直接互联、DHCP配置互联
循环码的编码、译码与循环冗余校验
循环码的编码、译码与循环冗余校验
389 0
循环码的编码、译码与循环冗余校验
|
传感器 编解码 IDE
Arduino兄弟间传递信息——基于BMP180气压计
Arduino兄弟间传递信息——基于BMP180气压计
432 0
|
Linux 数据安全/隐私保护 iOS开发
WPS文档导出图片要充钱?这个软件让你不花冤枉钱。
WPS文档导出图片要充钱?这个软件让你不花冤枉钱。