消息发送5-总结|学习笔记

简介: 快速学习消息发送5-总结

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

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


消息发送5-总结


整个消息发送的主要方法,就是在DefaultMQProducerImpl 这个里面进行一个处理。

image.png最终会走到sendDefaultmpl(msg.sync.null.time.out)方法里。这里用了默认的时间是三秒钟,在发送信息的时候,先去校验消息的合法性。包括消息的程度等等,如果消息合法,它就开始发消息。

在发送过程中首先先去查找路由信息,通过TrytoFindTopicPublishinfo去发送,再去查找路由。

怎么查找路由?在客户端的本地缓存了一个topic publish路由的信息,它先从本地查,如果本地查出来了,那就直接使用本地的路由去发送。

如果本地没有路由怎么办?它就去通过MQclient instance去请求name server,通过name server查找当前topic所对应的路由信息,这一步是去查找路由。

路由查找出来之后,就要开始发送消息,最终消息是要发送到message queen这个消息队列当中。

发送的消息对列里rocket M Q做了一个故障延迟机制的处理,如果打开了故障延迟的机制,那么它在再去发送信息的时候先根据当前这个message queen,维护了一个索引,通过这个索引对message queen进行一个取模,取出message queen,取出来之后进行校验。

image.png如果它是可用的,那就直接返回,如果是不可用的,从它之前所发送过的故障表当中取出一个相对比较好的信息再去发送它。

如果这里面没有打开故障延迟机制,那就直接使用它。所以对这个message queen进行一个取模,直接返回。

第三步就是选择这个消息队列。选择了这个消息对列之后,接下来就要发送,在发送时,首先获取broker的网络地址,对message进行I D的设置,判断一下当前这个消息是否要去压缩,再去判断是否有发送之前的增强逻辑,如果有就把这个增强逻辑,其实就是一个钩子方法,将它进行执行。

整个都完成了之后,去封装请求包,通过MQclient的实力向外发送消息。

image.png整个消息的发送流程为以下四步:

1. 验证消息

2. 查找路由

3. 选择队列

4. 发送消息

5.

相关文章
|
Android开发
Android面试题之activity启动流程
该文探讨了Android应用启动和Activity管理服务(AMS)的工作原理。从Launcher启动应用开始,涉及Binder机制、AMS回调、进程创建、Application和Activity的生命周期。文中详细阐述了AMS处理流程,包括创建ClassLoader、加载APK、启动Activity的步骤,以及权限校验和启动模式判断。此外,还补充了activity启动流程中AMS的部分细节。欲了解更多内容,可关注公众号“AntDream”。
161 1
|
C#
如何在 C# 项目中链接一个文件夹下的所有文件
在 C# 项目中通过链接方式引入文件可以让我们在项目中使用这些文件中的代码。常见的比如链接 AssemblyInfo.cs 文件,这样我们就可以在项目中使用这个文件中的版本号等信息。但是如果我们想要链接一个文件夹下的所有文件,该怎么做呢?今天我们就来看看如何在 C# 项目中链接一个文件夹下的所有文件。
230 0
如何在 C# 项目中链接一个文件夹下的所有文件
|
存储 iOS开发
Swift学习第八枪--协议(二)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046908/article/details/51553393 协议(二) 下面是我的新建的Swift学习交流群,欢迎大家一起来共同学习Swift。
815 0
|
6天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
5天前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。
|
5天前
|
人工智能 自然语言处理 自动驾驶
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
|
Linux 虚拟化 iOS开发
VMware Workstation Pro 25H2 for Windows & Linux - 领先的免费桌面虚拟化软件
VMware Workstation Pro 25H2 for Windows & Linux - 领先的免费桌面虚拟化软件
1080 4
|
8天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
677 2