总结|学习笔记

简介: 快速学习总结

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

课程地址:https://developer.aliyun.com/learning/course/702/detail/12391


总结

 

内容介绍:

一. MQ介绍

二. RocketMQ 快速入门

三. RocketMQ 集群搭建

四. 消息发送样例

 

一.MQ介绍

1.为什们使用MQ

MQ 应用场景主要包含3个方面:(1)应用解耦(2)流量削峰(3)数据分发

2.各种MQ产品的优点和缺点比较

多家 MQ 产品比较中最终选择性能良好的 RocketMQ,其不仅经受过双十一的高并发业务考验,而且由 java 编写,较容易进行二次开发。

 

二.RocketMQ快速入门

1.安装RocketMQ

2.解压RocketMQ

3.启动RocketMQ-启动分为两个步骤首先启动 NameServer 其次启动 Broker。

4.测试RocketMQ -进行发送消息和接受消息的测试。

 

三.RocketMQ集群搭建

公司中使用 MQ,为保证 MQ的 高可用,可选择 MQ 集群搭建,搭建集群最终采用双主双从集群搭建。

image.png

学习两种集群管理模式:

1. mqadmin 管理工具

2. 搭建集群监控平台-搭建集群可视化平台,通过这个可视化平台,可以方便地看

到集群中消息的状态,包括生产者,消费者,主题等状态信息。

 

四.消息发送样例

1.基本消息

基本消息中着重对消息生产者和发送者强调了如下几点:

(1)发送同步消息(2)发送异步消息(3)发送单向消息

消息消费者中包含两种方式第一是负载均衡第二是广播模式。 

2.顺序消息

保证消息的发送顺序通常是保证其局部顺序,即将当前业务相关的一组消息发到一个队列,消息消费者针对一个队列的消息的消费使用单线程去处理,以保证消息的顺序。

3.延时消息

延时消息是生产者发送消息之后,消息不会立即被投递到消息的消费者,会延迟一定时间。但是目前 RocketMQ 不支持任意时间设定,需要设置几个固定的延时等

级,当前 RocketMQ 指定预设好的级别,从1s到2h,共18个级别可选择。

4.批量消息

注意问题:使用批量消息要注意批量消息大小不超过4M,如果消息超过4M 会发送

失败,若真的有超过4M 的批量消息存在时要进行分割处理。

5.过滤消息

过滤消息分为两种方式一是根据 TAG 二是根据 SQL 进行过滤。

6.事务消息

重点是在消息的发送方,消息的消费方没什么区别。消息的发送方通过几个步骤:

image.png

通过事务消息发送的消息实际是个半消息,暂时对消费方不可见,消费方不会去消费,MQ 收到半消息后,会调用事务的监听器去执行你的本地事务,执行完本地事务之后,进行消息处理,一是提交二是回滚,若既没有提交也没有回滚,其会通过另外的方法回查消息状态。在此过程中,提交的消息能够被消费,回滚信息会被删

掉,不会被消费者消费。

事务消息的使用限制:

1.不支持延时消息和批量消息。

2.事务消息为了避免消息的堆积,默认单个消息的检查次数为15次。如果15次均未进行处理,未查询消息状态,MQ 会自动丢弃此消息。

3.我们可以针对检查时间进行设定

4.事务消息不止一次被检查或消费,因为检查多次,可能会造成重复消息,所以要在消费方做好幂等性检查。

5. 保证高可靠必须依靠 MQ 集群形式。

6.生产者 ID 不能与其他类型消息生产者 ID 共享。

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
机器学习/深度学习 TensorFlow API
TensorFlow与Keras实战:构建深度学习模型
本文探讨了TensorFlow和其高级API Keras在深度学习中的应用。TensorFlow是Google开发的高性能开源框架,支持分布式计算,而Keras以其用户友好和模块化设计简化了神经网络构建。通过一个手写数字识别的实战案例,展示了如何使用Keras加载MNIST数据集、构建CNN模型、训练及评估模型,并进行预测。案例详述了数据预处理、模型构建、训练过程和预测新图像的步骤,为读者提供TensorFlow和Keras的基础实践指导。
874 59
|
11月前
|
前端开发 运维 应用服务中间件
操作系统智能助手OS Copilot新功能
作为一名公司的研发人员,我虽主要从事前后端开发,但也对云服务有所了解。在安装并体验OS Copilot的过程中,我深刻感受到其强大功能和便捷性。安装过程顺利直观,-t功能可快速测试命令输出,节省时间并提供有益信息;-f功能提升了批量任务处理和调试脚本的效率;管道功能虽有改进空间,但整体显著提升工作效率,特别是在处理复杂脚本和自动化任务时,减少了错误率。我相信OS Copilot未来潜力巨大,期待其进一步优化。
操作系统智能助手OS Copilot新功能
|
缓存 前端开发 JavaScript
9大高性能优化经验总结,Java高级岗必备技能,强烈建议收藏
关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。本文介绍了9种性能优化方法,涵盖代码优化、数据库优化、连接池调优、架构层面优化、分布式缓存、异步化、Web前端优化、服务化、硬件升级、搜索引擎和产品逻辑优化。欢迎留言交流。
|
存储 机器学习/深度学习 安全
ConcurrentHashMap核心原理,这次彻底给整明白了!
ConcurrentHashMap核心原理,这次彻底给整明白了!
140 0
ConcurrentHashMap核心原理,这次彻底给整明白了!
|
关系型数据库 MySQL 数据库
Django与MySQL:配置数据库的详细步骤
Django与MySQL:配置数据库的详细步骤
|
安全 数据安全/隐私保护
解释 TCSEC 和 ITSEC
【8月更文挑战第31天】
982 0
|
算法 API 缓存
高并发架构设计三大利器:缓存、限流和降级问题之固定窗口限流算法的原理是什么
高并发架构设计三大利器:缓存、限流和降级问题之固定窗口限流算法的原理是什么
220 0
|
敏捷开发 缓存 JavaScript
阿里云云效产品使用合集之流水线运行慢该如何优化
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
移动开发 前端开发
nbcio-boot基于jeecg的flowable支持部门经理的单个或多实例支持(后端部分)
nbcio-boot基于jeecg的flowable支持部门经理的单个或多实例支持(后端部分)
222 2
|
SQL Java Linux
Linux系统cpu飙升到100%排查方案
Linux系统cpu飙升到100%排查方案