推荐序

前言

第1章 快速入门1

1.1 消息队列功能介绍1

1.1.1 应用解耦1

1.1.2 流量消峰2

1.1.3 消息分发3

1.2 RocketMQ简介4

1.3 快速上手RocketMQ4

1.3.1 RocketMQ的下载、安装和配置 5

1.3.2 启动消息队列服务6

1.3.3 用命令行发送和接收消息6

1.3.4 关闭消息队列6

1.4 本章小结7

第2章 生产环境下的配置和使用8

2.1 RocketMQ各部分角色介绍8

2.2 多机集群配置和部署9

2.2.1 启动多个NameServer和Broker10

2.2.2 配置参数介绍11

2.3 发送/接收消息示例13

2.4 常用管理命令15

2.5 通过图形界面管理集群21

2.6 本章小结22

第3章 用适合的方式发送和接收消息23

3.1 不同类型的消费者23

3.1.1 DefaultMQPushConsumer的使用23

3.1.2 DefaultMQPushConsumer的处理流程25

3.1.3 DefaultMQPushConsumer的流量控制28

3.1.4 DefaultMQPullConsumer30

3.1.5 Consumer的启动、关闭流程32

3.2 不同类型的生产者33

3.2.1 DefaultMQProducer 34

3.2.2 发送延迟消息36

3.2.3 自定义消息发送规则36

3.2.4 对事务的支持37

3.3 如何存储队列位置信息38

3.4 自定义日志输出42

3.5 本章小结44

第4章 分布式消息队列的协调者45

4.1 NameServer的功能45

4.1.1 集群状态的存储结构46

4.1.2 状态维护逻辑47

4.2 各个角色间的交互流程48

4.2.1 交互流程源码分析48

4.2.2 为何不用ZooKeeper50

4.3 底层通信机制50

4.3.1 Remoting模块51

4.3.2 协议设计和编解码54

4.3.3 Netty库56

4.4 本章小结56

第5章 消息队列的核心机制57

5.1 消息存储和发送57

5.2 消息存储结构58

5.3 高可用性机制60

5.4 同步刷盘和异步刷盘61

5.5 同步复制和异步复制62

5.6 本章小结63

第6章 可靠性优先的使用场景64

6.1 顺序消息64

6.1.1 全局顺序消息64

6.1.2 部分顺序消息65

6.2 消息重复问题67

6.3 动态增减机器67

6.3.1 动态增减NameServer67

6.3.2 动态增减Broker69

6.4 各种故障对消息的影响70

6.5 消息优先级72

6.6 本章小结73

第7章 吞吐量优先的使用场景74

7.1 在Broker端进行消息过滤74

7.1.1 消息的Tag和Key74

7.1.2 通过Tag进行过滤75

7.1.3 用SQL表达式的方式进行过滤75

7.1.4 Filter Server方式过滤77

7.2 提高Consumer处理能力78

7.3 Consumer的负载均衡80

7.3.1 DefaultMQPushConsumer的负载均衡80

7.3.2 DefaultMQPullConsumer的负载均衡81

7.4 提高Producer的发送速度83

7.5 系统性能调优的一般流程85

7.6 本章小结87

第8章 和其他系统交互88

8.1 在SpringBoot中使用RocketMQ88

8.1.1 直接使用88

8.1.2 通过Spring Messaging方式使用90

8.2 直接使用云上RocketMQ91

8.3 RocketMQ与Spark、Flink对接93

8.4 自定义开发运维工具93

8.4.1 开源版本运维工具功能介绍94

8.4.2 基于Tools模块开发自定义运维工具95

8.5 本章小结96

第9章 首个Apache中间件顶级项目97

9.1 RocketMQ的前世今生97

9.2 Apache顶级项目(TLP)之路98

9.3 源码结构99

9.4 不断迭代的代码100

9.5 本章小结102

第10章 NameServer源码解析103

10.1 模块入口代码的功能103

10.1.1 入口函数103

10.1.2 解析命令行参数104

10.1.3 初始化NameServer的Controller105

10.2 NameServer的总控逻辑106

10.3 核心业务逻辑处理107

10.4 集群状态存储109

10.5 本章小结111

第11章 最常用的消费类112

11.1 整体流程112

11.1.1 上层接口类112

11.1.2 DefaultMQPushConsumer的实现者114

11.1.3 获取消息逻辑116

11.2 消息的并发处理118

11.2.1 并发处理过程118

11.2.2 ProcessQueue对象121

11.3 生产者消费者的底层类122

11.3.1 MQClientInstance类的创建规则122

11.3.2 MQClientInstance类的功能124

11.4 本章小结127

第12章 主从同步机制128

12.1 同步属性信息128

12.2 同步消息体130

12.3 sync_master和async_master132

12.4 本章小结134

第13章 基于Netty的通信实现135

13.1 Netty介绍135

13.2 Netty架构总览136

13.2.1 重新实现ByteBuffer136

13.2.2 统一的异步 I/O接口137

13.2.3 基于拦截链模式的事件模型138

13.2.4 高级组件139

13.3 Netty用法示例140

13.3.1 Discard服务器140

13.3.2 查看收到的数据144

13.4 RocketMQ基于Netty的通信功能实现145

13.4.1 顶层抽象类145

13.4.2 自定义协议148

13.4.3 基于Netty的Server和Client151

13.5 本章小结152

rocketmq java实战_RocketMQ实战与原理解析 杨开元著 PDF下载相关推荐

  1. Java进阶:ReentrantLock实现原理解析(公平锁、非公平锁、可重入锁、自旋锁)

    概述 本篇将介绍公平锁.非公平锁.可重入锁.自旋锁相关理论知识,同时结合相关源码和Demo进行解析,主要是以ReentrantLock作为例子. 公平锁 公平锁定义 公平锁是指线程按照申请所的顺序来获 ...

  2. Java并发编程之ConcurrentHashMap原理解析

    ConcurrentHashMap get: /*** 根据键值key获取value,根据key.equals方法判断两个元素是否相同* @param key 键* @return 如果key存在则返 ...

  3. nb iot 与java_NB-IoT物联网技术解析与案例详解 PDF 下载

    相关截图: 资料简介: 以NB-IoT为典型应用的移动物联网技术正处于规模发展的关键期,各行各业都在思考如何把NB-IoT与行业应用有效结合起来.由于垂直行业普遍缺乏对通信技术和通信行业的认知,同时对 ...

  4. java机器PDF_机器人制作入门(第3版)PDF 下载

    资料简介: 欢迎来到机器人技术的精彩世界!这是一本通俗易懂的机器人技术实践参考书.本书从仿生机器人的角度出发,以实例形式详细介绍了当今流行的机器人设计.选材和制作方法,意在让读者以*快的速度掌握制作小 ...

  5. 雷达原理第五版微盘pdf下载_雷达原理(第5版电子信息类精品教材)

    基本信息商品名称:雷达原理(第5版电子信息类精品教材) 作者:丁鹭飞//耿富录//陈建春 定价:69.8 出版社:电子工业 ISBN号:9787121226236 其他参考信息(以实物为准)出版时间: ...

  6. RocketMQ实战与原理解析

    网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...

  7. java枚举类型原理_Java枚举类接口实例原理解析

    这篇文章主要介绍了Java枚举类接口实例原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 枚举类可以实现一个或多个接口.与普通类实现接口完全一 ...

  8. 【Hadoop】HDFS操作、数据上传与下载原理解析、高级特性及底层原理

    HDFS操作.数据上传与下载原理解析.高级特性及底层原理 1 HDFS操作 1.1 Web Console网页工具 1.2 命令行 1.2.1 普通的操作命令 1.2.2 管理员命令 1.3 Java ...

  9. 第五届省赛(软件类)真题----Java大学C组答案及解析

    第五届省赛(软件类)真题--Java大学C组答案及解析 杨辉三角 调和级数 回文素数 过大年 位平方和 单位分数 n级台阶 一.杨辉三角 二项式的系数规律,我国数学家很早就发现了. 如[图1.png] ...

最新文章

  1. Centos7使用yum源安装mysql5.7和redis
  2. SQL基础【十八、事物】(sql事物慎用,还是写业务逻辑代码好一些,入伙涉及到更换数据啥的很麻烦!)
  3. php 处理 http 请求,PHP的http请求处理类
  4. 限流算法(漏桶算法、令牌桶算法)对比
  5. Redis存储结构体信息,选hash还是string?
  6. java第十四次作业
  7. 中学图书室管理用计算机,中学“学生电子阅览室管理制度”
  8. python笔记26-命令行传参sys.argv实际运用
  9. Jenkins配置Android自动打包传蒲公英功能
  10. 【知识图谱系列】六篇2020年知识图谱预训练论文综述 | 30页汇报ppt免费获取 | GCC,GraphCL,DGI,InfoGraph等模型
  11. 树莓派4b-centos操作系统安装包
  12. PHP能源管理系统ems,能源管理系统(EMS)方案.doc
  13. python battleship_一个python初学者的作业,battleship
  14. docker--Hub
  15. Endurance International Group任命曼尼什达拉尔为亚太区董事总经理
  16. STM32工程文件的建立以及Keil软件的基本设置和修改
  17. IT培训机构那些让人恶心的招生手法
  18. ios xmpp研究探索:删除好友
  19. vue3 倒计时3秒后返回首页
  20. 曾经人见人爱花见花开的zookeeper为啥突然不香了呢

热门文章

  1. python中o_Python O
  2. wsdl地址_WSDL文档结构解析
  3. 论文英文参考文献[10]的时候后面多空格_大学生没有任何论文写作经验,该如何快速写好论文?...
  4. 矩阵运算和一些基本的几何运算
  5. 笑着学会Linux 系统之故障排查
  6. 大数据平台在分布式服务中的应用
  7. python通过什么连接数据库_如何使用python连接数据库?
  8. Unity3DAI:寻路(1):A星寻路,在Unity上用C#代码实现。
  9. 机床使用教学_辽宁高校学子前往凤城市,进行与数控机床相关的专业实践活动...
  10. python3写的一个检测远程服务器端口脚本