全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 计算机网络

RocketMQ技术内幕(RocketMQ架构设计与实现原理第2版)

  • 定价: ¥109
  • ISBN:9787111690924
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:机械工业
  • 页数:444页
  • 作者:丁威//张登//周继...
  • 立即节省:
  • 2021-09-01 第2版
  • 2021-09-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    这是一本指导读者如何在实践中让RocketMQ实现高性能、高可用、高吞吐量和低延迟的著作。
    作者是RocketMQ官方认定的“优秀布道师”和技术专家,持续在RocketMQ领域深耕。本书从源码的角度分析了RocketMQ的技术架构和实现原理,第1版获得了良好的口碑,是RocketMQ领域的标志性作品,第2版做了较大幅度的更新。
    Apache RocketMQ创始人/Linux OpenMessaging创始人兼主席/Alibaba Messaging开放技术负责人冯嘉高度评价并作序推荐。
    全书一共11章,逻辑上可分为3个部分:
    第1部分(第1章)
    简单介绍了RocketMQ的设计理念与目标,以及阅读RocketMQ源码的方法与技巧;
    第二部分(第2~9章)
    从源码角度对RocketMQ的技术架构以及消息发送、消息存储、消息消费、消息过滤、顺序消息、主从同步、事务消息等主要功能模块的实现原理进行了深入分析。
    第三部分(第10~11章)
    首先从实战的角度讲了RocketMQ监控的原理、实现和应用,然后通过各种类型的大量示例展示了RocketMQ的使用技巧。

目录


前言
第1章  阅读源码前的准备
  1.1  获取和调试RocketMQ的源码
    1.1.1  Eclipse获取RocketMQ源码
    1.1.2  Eclipse调试RocketMQ源码
    1.1.3  IntelliJ IDEA获取RocketMQ源码
    1.1.4  IntelliJ IDEA调试RocketMQ源码
  1.2  RocketMQ源码的目录结构
  1.3  RocketMQ的设计理念和设计目标
    1.3.1  设计理念
    1.3.2  设计目标
  1.4  本章小结
第2章  RocketMQ路由中心NameServer
  2.1  NameServer架构设计
  2.2  NameServer启动流程
  2.3  NameServer路由注册、故障剔除
    2.3.1  路由元信息
    2.3.2  路由注册
    2.3.3  路由删除
    2.3.4  路由发现
  2.4  本章小结
第3章  RocketMQ消息发送
  3.1  漫谈RocketMQ消息发送
    3.1.1  topic路由机制
    3.1.2  消息发送高可用设计
  3.2  认识RocketMQ消息
  3.3  生产者启动流程
    3.3.1  初识DefaultMQProducer
    3.3.2  消息生产者启动流程
  3.4  消息发送基本流程
    3.4.1  消息长度验证
    3.4.2  查找主题路由信息
    3.4.3  选择消息队列
    3.4.4  消息发送
  3.5  批量消息发送
  3.6  本章小结
第4章  RocketMQ消息存储
  4.1  存储概要设计
    4.1.1  RocketMQ存储文件的组织方式
    4.1.2  内存映射
    4.1.3  灵活多变的刷盘策略
    4.1.4  transientStorePoolEnable机制
    4.1.5  文件恢复机制
  4.2  初识消息存储
  4.3  消息发送存储流程
  4.4  存储文件组织与内存映射
    4.4.1  MappedFileQueue映射文件队列
    4.4.2  MappedFile内存映射文件
    4.4.3  TransientStorePool
  4.5  RocketMQ存储文件
    4.5.1  CommitLog文件
    4.5.2  ConsumeQueue文件
    4.5.3  Index文件
    4.5.4  checkpoint文件
  4.6  实时更新ConsumeQueue与Index文件
    4.6.1  根据消息更新ConsumeQueue文件
    4.6.2  根据消息更新Index文件
  4.7  ConsumeQueue与Index文件恢复
    4.7.1  Broker正常停止文件恢复
    4.7.2  Broker异常停止文件恢复
  4.8  文件刷盘机制
    4.8.1  Broker同步刷盘
    4.8.2  Broker异步刷盘
  4.9  过期文件删除机制
  4.10  同步双写
  4.11  本章小结
第5章  RocketMQ消息消费
  5.1  RocketMQ消息消费概述
    5.1.1  消费队列负载机制与重平衡
    5.1.2  并发消费模型
    5.1.3  消息消费进度反馈机制
  5.2  消息消费者初探
  5.3  消费者启动流程
  5.4  消息拉取
    5.4.1  PullMessageService实现机制
    5.4.2  ProcessQueue实现机制
    5.4.3  消息拉取基本流程
  5.5  消息队列负载与重新分布机制
  5.6  消息消费过程
    5.6.1  消息消费
    5.6.2  消息确认
    5.6.3  消费进度管理
  5.7  定时消息机制
    5.7.1  load()方法
    5.7.2  start()方法
    5.7.3  定时调度逻辑
  5.8  消息过滤机制
  5.9  顺序消息
    5.9.1  消息队列负载
    5.9.2  消息拉取
    5.9.3  消息消费
    5.9.4  消息队列锁实现
  5.10  本章小结
第6章  RocketMQ的ACL
  6.1  什么是ACL
  6.2  如何使用ACL
    6.2.1  Broker端开启ACL
    6.2.2  客户端使用ACL
  6.3  ACL实现原理
    6.3.1  Broker端ACL核心入口
    6.3.2  PlainAccessValidator详解
    6.3.3  PlainPermissionManager详解
    6.3.4  AclClientRPCHook详解
  6.4  本章小结
第7章  RocketMQ主从同步机制
  7.1  RocketMQ主从同步原理
    7.1.1  HAService整体工作机制
    7.1.2  AcceptSocketService实现原理
    7.1.3  GroupTransferService实现原理
    7.1.4  HAClient实现原理
    7.1.5  HAConnection实现原理
  7.2  RocketMQ读写分离机制
  7.3  RocketMQ元数据同步
    7.3.1  从节点主动同步元数据
    7.3.2  主节点消息拉取主动同步消费进度
  7.4  本章小结
第8章  RocketMQ消息轨迹
  8.1  消息轨迹的引入目的和使用方法
  8.2  消息轨迹设计原理
    8.2.1  消息轨迹数据格式
    8.2.2  如何采集轨迹数据
    8.2.3  如何存储消息轨迹数据
  8.3  消息轨迹实现原理
    8.3.1  寻找消息轨迹入口
    8.3.2  消息发送轨迹数据
    8.3.3  消息轨迹异步转发实现机制
  8.4  本章小结
第9章  RocketMQ主从切换
  9.1  主从切换引入目的
  9.2  Raft协议简介
    9.2.1  Leader选举
    9.2.2  日志复制
  9.3  RocketMQ DLedger主从切换之Leader选主
    9.3.1  DLedgerLeaderElector核心类及核心属性
    9.3.2  选举状态管理器初始化
    9.3.3  选举状态机状态流转
    9.3.4  发送投票请求与处理投票请求
    9.3.5  发送心跳包与处理心跳包
  9.4  RocketMQ DLedger主从切换之存储实现
    9.4.1  RocketMQ DLedger核心类及核心属性
    9.4.2  RocketMQ DLedger数据存储协议
    9.4.3  RocketMQ DLedger索引存储协议
  9.5  RocketMQ DLedger主从切换之日志追加
    9.5.1  日志追加流程概述
    9.5.2  判断Push队列是否已满
    9.5.3  Leader节点日志存储
    9.5.4  Leader节点等待从节点日志复制响应ACK
  9.6  RocketMQ DLedger主从切换之日志复制
    9.6.1  日志复制设计理念
    9.6.2  日志复制类设计体系
    9.6.3  日志转发
  9.7  RocketMQ整合DLedger设计技巧与实现原理
    9.7.1  数据存储兼容设计
    9.7.2  数据存储兼容实现原理
    9.7.3  主从切换元数据同步机制
  9.8  RocketMQ主从切换实战
    9.8.1  主从切换核心配置属性
    9.8.2  搭建主从同步环境
    9.8.3  主从同步集群升级到主从切换
  9.9  本章小结
第10章  RocketMQ监控
  10.1  设计理念
  10.2  实现原理
    10.2.1  监控相关类图
    10.2.2  监控原始数据采集流程
  10.3  监控数据采样机制
    10.3.1  监控数据采样
    10.3.2  根据采样计算统计指标
  10.4  如何采集监控指标
  10.5  监控实战应用
  10.6  本章小结
第11章  RocketMQ实战
  11.1  消息批量发送
  11.2  消息发送队列自选择
  11.3  消息过滤
    11.3.1  TAG过滤模式
    11.3.2  SQL过滤模式
    11.3.3  类过滤模式
  11.4  事务消息
  11.5  Spring整合RocketMQ
  11.6  Spring Cloud整合RocketMQ
  11.7  RocketMQ监控与运维命令
    11.7.1  搭建RocketMQ监控平台rocketmq-console
    11.7.2  RocketMQ管理命令
  11.8  应用场景分析
  11.9  实战案例
    11.9.1  RocketMQ集群线上故障缩容实战案例
    11.9.2  RocketMQ在线扩容实战
  11.10  本章小结
附录A  参数说明
附录B  RocketMQ各版本概述与升级建议