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

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

开发者学堂课程【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 ,拿到消息之后把消息再去进行处理,所以要把消息的消费服务注册到客户端,把客户端也再去启动起来,以上就是整个消息消费在启动的时候所做的一些事情。

相关文章
|
3月前
|
IDE API 开发工具
让 GitHub 个人主页更专业:用 WakaTime 实现动态代码统计
这篇文章介绍了如何使用 WakaTime 为 GitHub 个人主页添加动态代码统计,展示编码活跃度,提升专业性。通过注册账号、安装 IDE 插件、配置 GitHub 仓库和使用工作流自动更新 README 文件,实现对多种编程语言的详细统计。
264 1
让 GitHub 个人主页更专业:用 WakaTime 实现动态代码统计
|
数据采集 机器学习/深度学习 SQL
如何构建高效的数据分析流程:从技术视角出发
【7月更文挑战第22天】构建高效的数据分析流程是一个持续迭代的过程,需要技术团队与业务团队的紧密合作。通过不断优化流程,企业可以更加高效地利用数据资源,为业务决策提供有力支持。
|
9月前
|
存储 人工智能 搜索推荐
阿里云佘俊泉:边缘云场景的探索与机遇
阿里云佘俊泉:边缘云场景的探索与机遇
319 0
Vue3卡片(Card)
这是一个基于Vue3的卡片组件库,提供多样化的卡片展示效果,包括不同尺寸、加载状态及自定义样式等。支持设置宽度、标题、边框等属性,并可通过`loading`参数显示加载占位符。
990 1
Vue3卡片(Card)
|
存储 网络协议 机器人
车载以太网权威指南阅读笔记
车载以太网权威指南阅读笔记
|
关系型数据库 MySQL 数据库
MySQL8报错:Public Key Retrieval is not allowed
MySQL8报错:Public Key Retrieval is not allowed
6819 1
|
监控 安全 BI
数据安全之认识数据库审计系统
数据库审计系统是保障企业核心资产的关键,它监控并分析数据库操作,提供实时告警和取证功能,应对SQL注入等安全威胁。系统依据法规要求,如GDPR,确保合规性,并支持敏感信息脱敏、报表统计、安全审计、告警及智能分析。通过旁路部署、软件插件或分布式方式安装,确保数据安全性,包括实时监控、违规检测、策略管理、记录检索、合规报告和风险预警。与日志审计系统协同工作,共同提升IT安全。
|
算法 前端开发 API
Gradio库的安装和使用教程
Gradio库的安装和使用教程
1887 0
|
存储 NoSQL Java
mongodb基于地理位置查询实现围栏
mongodb基于地理位置查询实现围栏
1824 0
|
消息中间件 Kafka
Cannot set the value of read-only property ‘additionalSourceDirs‘ for task ‘:jacocoRootReport‘ of
这个问题是gradle的build版本问题,我是在build kafka的老版本时报的错,这个问题我查了一遍网上的内容,发现很多博客忽略了IDEA settings关于gradle的build的一个配置。
715 0
Cannot set the value of read-only property ‘additionalSourceDirs‘ for task ‘:jacocoRootReport‘ of