Alibaba十年磨一剑:MQ技术手册,让你眼界大开
在当今的企业IT系统中,消息队列已然成为了内部通信的核心工具。它拥有如低耦合、可靠投递、广播、流量控制和最终一致性等多项功能,并已成为异步RPC的主要手段。尽管当前Kafka备受瞩目,但更广泛应用的还要数老牌的RabbitMQ和Alibaba自主研发的RocketMQ。而关于MQ,Alibaba无疑有着丰富的经验和话语权,尤其是关于RocketMQ的使用。今天,我们要分享的正是阿里P8的十年开发经
前言
在当今的企业IT系统中,消息队列已然成为了内部通信的核心工具。它拥有如低耦合、可靠投递、广播、流量控制和最终一致性等多项功能,并已成为异步RPC的主要手段。尽管当前Kafka备受瞩目,但更广泛应用的还要数老牌的RabbitMQ和Alibaba自主研发的RocketMQ。
而关于MQ,Alibaba无疑有着丰富的经验和话语权,尤其是关于RocketMQ的使用。今天,我们要分享的正是阿里P8的十年开发经验总结,这份总结凝结在了“RabbitMQ+RocketMQ”技术手册中。读完之后,你定会感叹这份手册的精湛与独特!
由于平台文章篇幅限制,细节内容过多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!需要的朋友可在文章末尾获取资料

一、RabbitMQ部分
1.RabbitMQ简介及入门


2.客户端开发向导
-
连接RabbitMQ
-
使用交换器和队列
-
发送消息
-
消费消息
-
消费端的确认与拒绝
-
关闭连接


3.RabbitMQ进阶
-
消息何去何从
-
过期时间(TTL)
-
死信队列
-
延迟队列
-
优先级队列
-
RPC实现
-
持久化
-
生产者确认
-
消费端要点介绍
-
消息传输保障


4.RabbitMQ管理
-
多租户与权限
-
用户管理
-
Web端管理
-
应用与集群管理
-
服务端状态
-
HTTPAPI接口管理

5.RabbitMQ配置
-
环境变量
-
配置文件
-
参数及策略


6.RabbitMQ运维
-
集群搭建
-
查看服务日志
-
单节点故障恢复
-
集群迁移
-
集群监控


7.跨越集群的界限
-
Federation
-
Shovel


8.RabbitMQ高阶
-
内存及磁盘告警
-
流控
-
镜像队列


9.网络分区
-
网络分区的意义
-
网络分区的判定
-
网络分区的模拟
-
网络分区的影响
-
手动处理网络分区
-
自动处理网络分区
-
案例:多分区情形


10.RabbitMQ扩展
-
消息追踪
-
负载均衡


二、RocketMQ部分
1.阅读源代码前的准备
-
获取和调试RocketMQ的源代码
-
RocketMQ源代码的目录结构
-
RocketMQ的设计理念和目标


2.RocketMQ路由中心NameServer
-
NameServer架构设计
-
NameSenver启动流程
-
NameSenve路由注册、故障剔除


3.RocketMQ消息发送
-
漫谈RocketMQ消息发送
-
认识RocketMQ消息
-
生产者启动流程
-
消息发送基本流程
-
批量消息发送


4.RocketMQ消息存储
-
存储概要设计
-
初识消息存储
-
消息发送存储流程
-
存储文件组织与内存映射
-
RocketMQ存储文件
-
实时更新消息消费队列与索引文
-
消息队列与索引文件恢复
-
文件刷盘机制
-
过期文件删除机制


5.RocketMQ消息消费
-
RocketMQ消息消费概述
-
消息消费者初探
-
消费者启动流程
-
消息拉取
-
消息队列负载与重新分布机制
-
消息消费过程
-
定时消息机制
-
消息过滤机制
-
顺序消息


6.消息过滤FilterServer
-
ClassFilten运行机制
-
FilterServer注册剖析
-
类过滤模式订阅机制
-
消息拉取


7.RocketMQ主从同步(HA)机制
-
RocketMQ主从复制原理
-
RocketMQ读写分离机制


8.RocketMQ事务消息
-
事务消息实现思想
-
事务消息发送流程
-
提交或回滚事务
-
事务消息回查事务状态


9.RocketMQ实战
-
消息批量发送
-
消息发送队列自选择
-
消息过滤
-
事务消息
-
Spring整合RocketMQ
-
Spring Cloud整合RocketMQ
-
RocketMQ监控与运维命令
-
应用场景分析


总结
在现实世界中,业务系统间的沟通常常需要RabbitMQ或RocketMQ这样的中间件来帮助实现。它们像一座桥梁,连接着不同的系统,实现了复杂的消息路由功能。而对于大数据的实时计算场景,Kafka则成为不可或缺的工具。它以简单的消费模型和超高的吞吐量,满足了大数据时代对实时性的高要求。对于我们Java开发者来说,掌握RabbitMQ和RocketMQ无疑是至关重要的。它们是我们技能库中的重要武器,能帮助我们解决实际开发中的许多问题。需要完整版PDF学习资源请扫描下方名片100%获取免费下载方式!
👇👇点击下方名片👇👇
更多推荐
所有评论(0)