前言
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。虽然说,目前状况是Kafka更为火热,但更为广泛的应该还属老牌的RabbtiMQ和Alibaba自主研发的RocketMQ。
关于MQ相关的内容,Alibaba肯定还是很有话语权的,尤其是关于RocketMQ的使用,所以今天我们要分享的内容,实际上就是阿里P8的十年开发经验总结,写出来的这本“RabbitMQ+RocketMQ”技术手册,看完你也不得不感叹这份极品手册啊!
由于文章篇幅有限,下文中的内容只展示这份手册的目录以及部分内容截图
编辑切换为居中
添加图片注释,不超过 140 字(可选)
一、RabbitMQ部分
1.RabbitMQ简介及入门
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
2.客户端开发向导
连接RabbitMQ
使用交换器和队列
发送消息
消费消息
消费端的确认与拒绝
关闭连接
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
3.RabbitMQ进阶
消息何去何从
过期时间(TTL)
死信队列
延迟队列
优先级队列
RPC实现
持久化
生产者确认
消费端要点介绍
消息传输保障
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
4.RabbitMQ管理
多租户与权限
用户管理
Web端管理
应用与集群管理
服务端状态
HTTPAPI接口管理
编辑切换为居中
添加图片注释,不超过 140 字(可选)
5.RabbitMQ配置
环境变量
配置文件
参数及策略
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
6.RabbitMQ运维
集群搭建
查看服务日志
单节点故障恢复
集群迁移
集群监控
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
7.跨越集群的界限
Federation
Shovel
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
8.RabbitMQ高阶
内存及磁盘告警
流控
镜像队列
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
9.网络分区
网络分区的意义
网络分区的判定
网络分区的模拟
网络分区的影响
手动处理网络分区
自动处理网络分区
案例:多分区情形
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
10.RabbitMQ扩展
消息追踪
负载均衡
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
二、RocketMQ部分
1.阅读源代码前的准备
获取和调试RocketMQ的源代码
RocketMQ源代码的目录结构
RocketMQ的设计理念和目标
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
2.RocketMQ路由中心NameServer
NameServer架构设计
NameSenver启动流程
NameSenve路由注册、故障剔除
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
3.RocketMQ消息发送
漫谈RocketMQ消息发送
认识RocketMQ消息
生产者启动流程
消息发送基本流程
批量消息发送
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
4.RocketMQ消息存储
存储概要设计
初识消息存储
消息发送存储流程
存储文件组织与内存映射
RocketMQ存储文件
实时更新消息消费队列与索引文
消息队列与索引文件恢复
文件刷盘机制
过期文件删除机制
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
5.RocketMQ消息消费
RocketMQ消息消费概述
消息消费者初探
消费者启动流程
消息拉取
消息队列负载与重新分布机制
消息消费过程
定时消息机制
消息过滤机制
顺序消息
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
6.消息过滤FilterServer
ClassFilten运行机制
FilterServer注册剖析
类过滤模式订阅机制
消息拉取
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
7.RocketMQ主从同步(HA)机制
RocketMQ主从复制原理
RocketMQ读写分离机制
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
8.RocketMQ事务消息
事务消息实现思想
事务消息发送流程
提交或回滚事务
事务消息回查事务状态
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
9.RocketMQ实战
消息批量发送
消息发送队列自选择
消息过滤
事务消息
Spring整合RocketMQ
Spring Cloud整合RocketMQ
RocketMQ监控与运维命令
应用场景分析
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
总结
实际上一般业务系统之间通信就是会采用RabbitMQ/RocketMQ,需要复杂的消息路由功能的支撑。大数据的实时计算场景才会采用Kafka,需要简单的消费模型,但是超高的吞吐量。
所以,作为Java开发,以RabbitMQ和RocketMQ为主来进行学习是比较重要的。最后,你再试问一下自己,对MQ到底掌握多少?会用到什么程度了呢?如果还不够,那就不能停下学习的脚步。
资源获取:
大家 点赞、收藏、关注、评论啦 、 查看 微信公众号获取联系方式
精彩专栏推荐订阅:在 下方专栏
每天学四小时:Java+Spring+JVM+分布式高并发,架构师指日可待