《RocketMQ实战专栏》为什么是你学习RocketMQ的最佳资料

Posted 中间件兴趣圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《RocketMQ实战专栏》为什么是你学习RocketMQ的最佳资料相关的知识,希望对你有一定的参考价值。

《RocketMQ实战与原理》专栏简介

简介

RocketMQ业界主流的消息中间件之一,承载公司核心业务消息的流转。对RocketMQ核心原理的理解与最佳实践成了开发与运维同学的必备技能。听很多同学抱怨,在学习中苦于缺少参考资料、遇到问题缺少专家指点、看源码掉入细节耗费大量时间精力、缺乏指引的最佳实践。

我们在使用RocketMQ发送时会碰到System busy、Broker busy,导致发送超时。发生这种现象的背后原理是怎样的?我们有什么解决方案?

一个消费组订阅多个Tag的情况,多个Tag用||分割,在同一个消费组中一个消费者订阅TagA,同一个消费组的另外一个消费者订阅了TagB。请问这么用有什么问题?背后的原理是什么?这种情况在咨询中问的同学很多。

RocketMQ的平稳运行离不开正确的调优、运维、监控、告警。对RocketMQ的治理我们应该从哪里入手?平滑扩所容的正确姿势是怎么样的?监控项的设计应该从哪些方面?

所有这些实战中可能碰到的坑,你都将从本专栏中找到原理讲解和正确使用方式。

专栏详情地址:https://blog.csdn.net/prestigeding/category_10520815.html

专栏亮点

1.作者团队瓷实

由《RocketMQ技术内幕》作者丁威老师执笔编写核心原理和设计思想,讲解通透严谨,核心知识点提供最佳实践代码。

由在消息领域实战多年的梁勇老师负责编写运维实战部分,手把手教你如何做集群压测、调优、平滑运维、监控、告警设计。

两位作者均通读熟悉RocketMQ核心源码、并在消息领域实战多年。

2.实战心得提炼

两位作者将多年的RocketMQ积累心得提炼总结,从原理到代码最佳实践全方位指引。提升学习效率、少走弯路、事半功倍。

3.图文并貌讲解

知识原理讲解采用图文并貌的方式,并将原理穿插道实战中,读者在轻松学习中获取知识,提升学习获得感、成就感。

4.高阶职位进阶

除了能掌握RocketMQ的知识外,你将对RocketMQ背后设计思想深入学习,RocketMQ治理体系的设计了然于胸。成为消息领域的技术专家。

读者将获得什么?

掌握RocketMQ核心原理与实践

掌握RocketMQ集群运维监控技能

掌握RocketMQ编程技巧与设计思想

目标读者

RocketMQ的初学者

JAVA中高级工程师

RocketMQ运维工程师

想成为消息领域技术专家的从业者

作者简介

丁威,《RocketMQ技术内幕》作者、RocketMQ社区优秀布道师、CSDN技术专家,『中间件兴趣圈』公众号维护者,现担任中通快递研发中心资深架构师。

梁勇,哈啰出行高级技术专家,负责服务框架&消息平台,参与了《RocketMQ技术内幕》审稿工作。专注后端中间件方向,在公众号『瓜农老梁』陆续发表80余篇。

作者照片

正面照,设计师将依此为作者设计卡通肖像。

专栏结构

专栏从使用场景入手介绍如何使用RocketMQ,使用过程中遇到什么问题,如何解决这些问题,以及为什么可以这样解决,即原理讲解(图)穿插在实战中。总共分为三个部分:应用篇、运维篇、编程进阶篇。

专栏的设计思路重在强调实战二字,旨在让一位RocketMQ初学者通过对本专栏的学习,快速“打怪升级”,理论与实战结合,成为该领域的佼佼者。专栏共分为应用篇、运维篇、编程技巧篇。

应用篇:介绍如何使用RocketMQ,使用过程中遇到什么问题,如何解决这些问题,以及为什么可以这样解决,即原理讲解(图)穿插在实战中。

运维篇:从运维角度,从对集群的管理方面角度切入,分享日均消息流转千亿级别的运维日常工作。

编程技巧篇:深入学习RocketMQ,不仅能在工作中更好的驾驭RocketMQ,作为一款高性能的分布式消息中间件,在编程方面有很多地方值得我们学习与借鉴,对快速提升编程能力有莫大的好处。

     
部分文章大纲
应用篇1、搭建学习环境(准备篇)1.1、Linux安装RocketMQ、RocketMQ-Console
1.2、IDEA中安装RocketMQ
2、RocketMQ核心概念扫盲篇2.1、RocketMQ部署架构
2.2、消息订阅模型
2.3、事务消息
2.4、定时消息
2.5、消息过滤
3、消息发送API详解与版本变迁说明3.1、消息发送API详解
3.2、消息发送API简单使用示例
3.3、消息发送API版本演变说明
4、结合实际应用场景谈消息发送4.1、消息发送方式
4.2、队列选择机制
4.3、RocketMQ Key 的使用场景
4.4、RocketMQ tag 使用场景
4.5、RocketMQ msgId 详解
5、消息发送核心参数与工作原理详解5.1、DefaultMQProducer参数一览
5.2、ClientConfig参数一览
5.3、核心参数工作机制与使用建议
6、消息发送常见错误与解决方案6.1、No route info of this topic
6.2、消息发送超时
6.3、System busy、Broker busy
7、事务消息使用及方案选型思考7.1、事务消息应用场景
7.2、RocketMQ事务消息原理
7.3、事务消息实战
7.4、事务消息架构思考
8、消息消费API与版本变迁说明8.1、消息消费类图
8.2、消息消费API简单使用示例
8.3、消息消费API版本演变说明
9、DefaultMQPushConsumer核心参数与工作原理9.1、DefaultMQPushConsumer核心参数一览与内部原理
9.2、消息消费队列负载算法
9.3、PUSH模型消息拉取机制
9.4、消息消费进度提交
10、DefaultMQPushConsumer使用示例与注意事项10.1、ConsumeFromWhere注意事项
10.2、基于多机房队列负载算法
10.3、消费组线程数设置注意事项
10.4、批量消费注意事项
10.5、订阅关系不一致导致消息丢失
10.6、消费者clientId不唯一导致不消费
11、DefaultLitePullConsumer核心参数与实战11.1、DefaultLitePullConsumer类图
11.2、DefaultLitePullConsumer简单使用示例
11.3、Lite Pull与PUSH模式之对比
11.4、长轮询实现原理
12、结合实际场景再聊DefaultLitePullConsumer的使用12.1、场景描述图
12.2、PUSH与PULL模式选型
12.3、方案设计
12.4、代码实现与代码解读
13、结合实际场景顺序消费、消息过滤实战13.1、顺序消费(场景描述、代码实现、原理解读)
13.2、消息过滤实战(场景描述、技术方案、代码实现)
14、消息消费积压问题排查实战14.1、问题描述
14.2、问题分析与解决方案
14.3、线程栈分析经验
14.4、RocketMQ消费端限流机制
14.5、RocketMQ服务端性能自查技巧
运维篇15、RocketMQ常用命令实战15.1、集群命令汇总
15.2、主题命令汇总
15.3、消费组命令汇总
15.4、Broker命令汇总
15.5、消息命令汇总
16、RocketMQ集群性能摸高16.1、前言
16.2、压测脚本
16.3、摸高实战
16.4、总结
17、RocketMQ集群性能调优17.1、前言
17.2、系统参数调优
17.3、集群参数调优
18、RocketMQ集群平滑运维18.1、前言
18.2、优雅摘除节点
18.3、平滑扩所容
19、RocketMQ集群监控(一)19.1、前言
19.2、监控项设计
19.3、监控开发实战
20、RocketMQ集群监控(二)20.1、前言
20.2、监控项设计
20.3、监控开发实战
21、RocketMQ集群告警21.1、前言
21.2、告警项设计
21.3、告警实战开发
22、RocketMQ集群踩坑记22.1、集群节点进程神秘消失
22.2、Master节点CPU莫名飙高
22.3、集群频繁抖动发送超时
22.4、用了此属性消费性能下降一半
23、消息轨迹、ACL与多副本搭建23.1 消息轨迹
23.2 ACL
23.3 多副本搭建
24、RocketMQ-Console常用页面指标获取逻辑
编程技巧篇25、RocketMQ NameServer背后的设计理念25.1 Nameserver工作机制
25.2 两种设计注册中心的思路
25.3 Nameserver数据不一致影响分析
26、JAVA并发编程实战26.1 读写锁的使用场景
26.2 信号量使用技巧
26.3 同步转异步编程技巧
26.4 CompletableFuture编程技巧
27、从 RocketMQ学基于文件的编程模式(一)27.1 消息存储格式看文件编程
27.2 内存映射与页缓存
27.3 顺序写
27.4 引用计数器
28、从 RocketMQ学基于文件的编程模式(二)28.1 同步刷盘、异步刷盘
28.2 文件恢复机制
28.3 Java如何使用零拷贝
29、从RocketMQ学Netty网络编程技巧29.1 从整个类体系看网络设计
29.2 Netty 网络编程要点
29.3 线程隔离机制
30、RocketMQ学习方法之我见

扫帚不到,灰尘不会自己跑掉

没弄懂的知识,我们不去学它,使用时还是不知其所以然。这正如地上的灰尘,扫帚不到,灰尘是不会自己跑掉的。

在长期的咨询过程发现一个现象,一个知识点,应届毕业生有问、工作3、4年的工程师在问、工作10年以上的专家也有在问。例如:广播消费和集群消费有什么区别?一个消费组订阅多个Tag的情况,多个Tag用||分割,在同一个消费组中一个消费者订阅TagA,同一个消费组的另外一个消费者订阅了TagB,为什么只能收到一部分消息?RocketMQ和Kafka有什么区别?类似的问题会一直重复下去,周而复始直到你把它研究了、学习了、搞明白为止。

我们应该学什么?

如果发散开来要学的东西太多了,感觉怎么学也学不完。所以要事为先,先学工作中绕不开的知识,RocketMQ如果在你公司中有使用或者既将使用,作为一个公司核心业务流转的基础设施组件,RocketMQ是绕不开的。业务开发使用、测试使用、运维同学也在使用。

我们应该怎么学?

自己关起门来搞研究,一个是精力有限,另一个是缺少实战环境验证,学习效率也较低。像国家要引进西方发达国家先进技术、派遣留学生一样,如果能从别人踩过的坑、实战的总结中学习吸收,在实践中小心求证,发展成为自己的知识体系,不愧为一个高效的学习路径。瓷实的作者团队相信能给你一个很高的起点。

唯有坚持不懈!

在面试中我们看到一个现象,有的同学985学校毕业,有一个很好的起点和光环,工作多年后发现技术没有亮点、行业深度也缺少积累;有的同学毕业普通二本甚至专科学校,工作多年后,在其身上却发现了某个技术领域研究很深或者行业知识研究很深。这种现象究其原因是在常年累月的工作中是否能坚持学习,就像丁威老师的座右铭一样唯有坚持不懈,持续不断学习、久久为功才是不断提升自己的终极法宝。

以上是关于《RocketMQ实战专栏》为什么是你学习RocketMQ的最佳资料的主要内容,如果未能解决你的问题,请参考以下文章

源码分析RocketMQ与运维实战

精华推荐 | 深入浅出RocketMQ原理及实战「底层原理挖掘系列」透彻剖析贯穿RocketMQ的存储系统的实现原理和持久化机制

高性能分布式消息中间件—RocketMQ

Dubbo 学习第一篇

RocketMQ ACL架构升级的一些建议与实践

RocketMQ ACL架构升级的一些建议与实践