爆肝分享阿里专家整理的内部绝密RocketMQ核心原理与最佳实践笔记

============

  • 5.1 Namesrv概述,Namesrv在RocketMQ体系中主要用于保存元数据、提高Broker的可用性。

在 RPC 通信中,我们通常将服务提供者称为服务端,使用服务的端称为客户端。如果服务端有扩容或缩容,客户端如何感知呢?业内常用的做法是,服务注册与发现。通过注册,可以添加更多提供服务的服务端实例,当然有实例宕机,也可以通过摘除来保证服务的可靠性。Broker作为RocketMQ服务的提供者,其工作原理也是一样的。

  • 5.2 Namesrv架构,Namesrv组件,Namesrv启动流程,Namesrv停止流程;

  • 5.3 RocketMQ的路由原理,生产者发送消息、消费者消费消息时都需要从Namesrv拉取Topic路由信息,那么这些路由信息是如何注册到 Namesrv的呢?如果 Broker 异常宕机,路由信息又是如何更新的呢?

下面,我们通过路由注册和路由剔除两个方面进行详细讲解。

阿里专家分享内部绝密RocketMQ核心原理与最佳实践PDF

Broker存储机制;

===============

  • 6.1 Broker概述,本章主要讲解了 Broker的基本知识,以及 Broker在体系中所处的地位。带领读者从部署结果上看Broker的各个文件目录结构,为下一章学习存储模块打下基础。本章的核心内容有:● Broker在RocketMQ体系中所处的地位。● Broker的数据目录结构。● Broker的启动和停止流程。

  • 6.2 Broker存储机制,堆积能力是消息队列的一个重要考核指标。存储机制是RocketMQ中的核心,也是亮点设计,因为存储机制决定写入和查询的效率。

  • 6.3 Broker CommitLog索引机制,绝大部分存储组件都有索引机制,RocketMQ 也一样,有巨量堆积能力的同时,通过索引可以加快读取和查询。

本节主要讲解RocketMQ的ConsumeQueue和IndexFile两种索引的基本原理:● 索引的数据结构。● 索引的构建过程。● 索引如何使用。

  • 6.4 Brokeri过期文件删除机制,RocketMQ中主要保存了CommitLog、Consume Queue、Index File三种数据文件。由于内存和磁盘都是有限的资源,Broker不可能永久地保存所有数据,所以一些超过保存期限的数据会被定期删除。RocketMQ 通过设置数据过期时间来删除额外的数据文件,具体的实现逻辑是通过org.apache.rocketmq.store.DefaultMessageStore.start()方法启动的周期性执行方法DefaultMessageStore.this.cleanFilesPeriodically()来实现的。

  • 6.5 Broker主从同步机制,当前主流的分布式组件中,可用性都是必备的。本节主要讲RocketMQ中可用性的设计和实现方式,主要内容有如下两个方面:● 主从同步介绍。● 主从同步流程。

  • 6.6 Broker的关机恢复机制,可靠性也是当前主流分布式产品的必备特性之一,对于一个金融级可靠的消息队列组件来讲更是如此。本节主要讲解内容如下:● 关机恢复机制的相关文件和实现原理。● 关机恢复机制的恢复过程。

阿里专家分享内部绝密RocketMQ核心原理与最佳实践PDF

RocketMQ特性——事务消息与延迟消息机制;

============================

  • 7.1事务消息概述,事务消息的实现方案目前主要分为两种:两阶段提交方案和三阶段提交方案。RocketMQ 采取了两阶段提交的方案进行实现,事务消息的代码讲解基于4.3.0版本。

  • 7.2事务消息机制,我们将事务消息的发送和处理总结为四个过程:生产者发送事务消息和执行本地事务、Broker存储事务消息、Broker回查事务消息、Broker提交或回滚事务消息。接下来,我们对这四个过程进行详细讲解。

  • 7.3延迟消息概述,什么是延迟消息呢?延迟消息也叫定时消息,一般地,生产者在发送消息后,消费者希望在指定的一段时间后再消费。常规做法是,把信息存储在数据库中,使用定时任务扫描,符合条件的数据再发送给消费者。下面通过一个春节买票的场景来进行讲解。

  • 7.4延迟消息机制,在RocketMQ 4.3.0支持延迟消息前,开源版本RocketMQ延迟消息机制就是一个谜,本节将基于RocketMQ 4.3.0为大家揭秘延迟消息的存储和投递机制。

阿里专家分享内部绝密RocketMQ核心原理与最佳实践PDF

RocketMQ源代码阅读;

==================

  • 8.1 RocketMQ源代码结构概述,Apache RocketMQ 项目是一个基于 maven 构建的多模块 Java 项目,将源代码导入IntelliJ IDEA;

  • 8.2 RocketMQ源代码编译;

  • 8.3如何阅读源代码,

  • 8.4 源代码阅读范例:通过消息id查询消息,在RocketMQ Console中,我们发现可以通过消息id查询消息体内容,接下来我们看看具体是怎么查询的,

阿里专家分享内部绝密RocketMQ核心原理与最佳实践PDF

RocketMQ企业最佳实践;

===================

  • 9.1 RocketMQ落地概述,

  • 9.2 RocketMQ集群管理,Topic 管理是集群管理中常见的操作,包括创建 Topic、查看Topic 路由、修改 Topic配置、重置消费位点。在上一节中主要讲解了如何管理 Topic,本节主要讲解如何管理消费者。通常消费者管理就是指消费者组管理和消费者实例管理,关于消费者组和消费者实例的相关概念在第4章已做详细描述。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

Docker步步实践

目录文档:

①Docker简介

②基本概念

③安装Docker

④使用镜像:

⑤操作容器:

⑥访问仓库:

⑦数据管理:

⑧使用网络:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

⑨高级网络配置:

⑩安全:

⑪底层实现:

⑫其他项目:

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值