课程简介
随着互联网技术蓬勃发展,微服务架构思想的兴起,系统架构开始追求小型化、轻量化,原有的大型集中式的IT系统通常需要进行垂直拆分,孵化出颗粒度更新的众多小型系统,因此对系统间的松耦合的要求越来越高,目前RPC、服务治理、消息中间件几乎成为互联网架构的标配;另外消息中间件在应对流量洪峰方面有着无可比拟的优势,借助消息中间件的消息堆积能力,高吞吐、低延迟,在秒杀、双十一等大促架构中必有消息中间件的身影。
本门课程的目标学员为JAVA中高级开发工程师、技术经理、架构师、广大RocketMQ使用者、爱好者。主要分为三个部分进行展开:实战篇、运维篇、原理篇。
实战篇从结合实际使用场景介绍RocketMQ使用;运维篇主要分享笔者运维千亿级消息流转的经验;原理篇旨在成体系的介绍RocketMQ的核心架构设计原理与核心模块的实现原理,为深入了解RocketMQ核心运作机制打开一扇窗户。
课程目标
1.成体系理解RocketMQ核心运作机制,为解决实际问题提供思路指导
2.掌握RocketMQ场景问题分析思路、解决方案
3.掌握亿级别消息集群(生产级的运维方法)
课程时长
2天(6小时/天)
课程对象
JAVA中高级开发工程师、技术经理、架构师、广大RocketMQ使用者、爱好者。
课程大纲
应用实战 (1d) | MQ概述 | 结合2个案例探讨MQ使用场景 | |
MQ 是什么?设计目标? | |||
MQ如何选型 | |||
消息发送 | 消息发送API概述 | 类图与API | |
消息发送API变更与背后设计理念 | |||
offsetMsgId 与 msgId | |||
结合场景谈消息发送 | 消息发送队列负载 | ||
数据同步场景谈Key的使用 | |||
tag使用场景 | |||
tag 与 topic之争 | |||
消息发送核心参数工作机制 | |||
事务消息实战(代码级别) | |||
消息发送常见问题与解决方案 | No route info of this topic | ||
发送超时解决方案 | |||
broker busy | |||
消息分布不均衡 | |||
消息消费 | 消息消费API概述 | ||
PUSH模式核心参数与使用技巧 | 核心参数工作机制 | ||
ConsumeFromWhere注意事项 | |||
重置位点 | |||
负载队列算法使用场景 | |||
批量消费 | |||
订阅关系不一致 | |||
消费者clientId不唯一导致不消费 | |||
PULL模式核心参数与原理 | |||
结合应用场景消息过滤实战 | |||
消息消费场景与解决方案 | |||
运维实战 (2h)
| MQ集群安装 | ||
在线扩容、所容 | |||
主从HA在线升级 | |||
在线版本升级 | |||
ACL探讨 | |||
RocketMQ巡检重点指标 | |||
集群参数调优 | |||
原理 (4h) | RocketMQ部署架构 | ||
RocketMQ 常用术语 | |||
Nameserver路由注册机制 | |||
RocketMQ 路由寻址 | |||
消息发送高可用设计与故障规避 | |||
存储设计-Commitlog文件 | |||
存储设计-ConsumeQueue文件 | |||
存储设计-基于文件的Hash索引 | |||
存储设计-内核级读写分离 | |||
存储设计-刷盘机制(同步刷盘) | |||
存储设计-刷盘机制(异步刷盘) | |||
认识RocketMQ客户端 | |||
消息消费-消息拉取、消费模型 | |||
消息消费-消息消费队列负载机制 | |||
消息消费-消费进度提交机制 | |||
消息消费-消费端限流机制 | |||
Broker端限流机制 | |||
基于TAG的消息过滤机制 | |||
RocketMQ 事务消息 | |||
RocketMQ 顺序消息 | |||
RocketMQ 定时消息 | |||
RocketMQ HA主从同步 | |||
主从切换 | |||
探讨篇(RocketMQ优缺点) |