全面解剖RocketMQ和项目实战
【课程介绍】
RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有稳定出色表现的国产中间件,以其高性能、低延时和高可靠等特性近年来已经也被越来越多的国内企业使用。其主要功能有1.灵活可扩展性、2.海量消息堆积能力、3.支持顺序消息、4.多种消息过滤方式、5.支持事务消息、6.回溯消费等常用功能。
RocketMQ 核心的四大组件:Name Server、Broker、Producer、Consumer ,每个组件都可以部署成集群模式进行水平扩展。
【课程目录】
章节一:核心功能
1. 快速入门
a) MQ介绍
b) 作用
c) 注意事项
d) 各MQ产品比较
2. RocketMQ环境搭建
a) 环境准备
b) 安装RocketMQ
c) 启动RocketMQ
d) 测试RocketMQ
e) 关闭RocketMQ
3. RocketMQ高可用集群搭建
a) 集群各角色介绍
b) 集群搭建方式
c) 双主双从集群搭建
d) 集群监控平台
4. 各种消息发送样例
a) 同步消息
b) 异步消息
c) 单向消息
d) 顺序消息
e) 批量消息
f) 过滤消息
g) 事务消息
章节二:项目实战
1. 项目背景介绍
(1) 电商高可用MQ实战
2. 功能分析
(1) 下单功能
(2) 支付功能
3. 项目环境搭建
(1) SpringBoot
(2) Dubbo
(3) Zookeeper
(4) RocketMQ
(5) Mysql
4.下单功能,保证各服务的数据一致性
5.确认订单功能,通过消息进行数据分发
章节三:高级功能
1. 消息的存储和发送
2. 消息存储结构
3. 刷盘机制
(1) 同步刷盘
(2) 异步刷盘
4. 消息的同步复制和异步复制
5. 负载均衡
(1) Producer负载均衡
(2) Consumer负载均衡
章节四:源码分析
1. 路由中心NameServer
a) NameServer架构设计
b) NameServer启动流程
c) NameServer路由注册和故障剔除
2. 消息生产者Producer
a) 生产者启动流程
b) 生产者发送消息流程
c) 批量发送
3. 消息存储
a) 消息存储流程
b) 存储文件与内存映射
c) 存储文件
d) 实时更新消息消费队列和存储文件
e) 消息队列与索引文件恢复
f) 刷盘机制
4. 过期文件删除机制
a) 消息消费Consumer
b) 消费者启动流程
c) 消息拉取
d) 消息队列负载均衡和重新分布机制
e) 消息消费过程
f) 定时消息机制
g) 顺序消息