RocketMQ分布式消息中间件:核心原理与最佳实践
 
		
	
		
					 定  价:79 元 
					
				 
				 
				  
				
				   
				 
				  
				
						
								
									当前图书已被 38 所学校荐购过!
								
								
									查看明细
								 
							 
							
							
								
							
				 
	
				
					
						- 作者:李伟
 - 出版时间:2020/7/1
 
						- ISBN:9787121392672
 
						- 出 版 社:电子工业出版社
 
					
				  
  
		
				- 中图法分类:TP393.07 
  - 页码:276
 - 纸张:
 - 版次:01
 - 开本:16开
 
				
					 
					
			
				
  
   
 
	 
	 
	 
	
	
	
		
		本书源码以RocketMQ 4.2.0和RocketMQ 4.3.0为基础,从RocketMQ的实际使用到RocketMQ的源码分析,再到RocketMQ企业落地实践方案,逐步讲解。使读者由浅入深地了解RocketMQ。本书在源码分析过程中,先讲整体流程,再按模块、步骤进行详细讲解,希望读者在阅读时能举一反三,能知其然且知其所以然。本书总共九章,分为五部分,第一部分讲解消息队列入门和RocketMQ生产、消费原理与最佳实践;第二部分从整体角度讲解RocketMQ架构;第三部分讲解RocketMQ各个组件的基本原理;第四部分深入RocketMQ,讲解如何阅读源代码、如何进行企业实践;第五部分是附录,包含Namesrv、Broker的核心参数配置说明和Exporter监控指标注释。希望读者在平时的工作中能熟悉、借鉴、参考RocketMQ的优秀设计理念,在技术能力上更进一步,在工作中更好地服务公司。希望读者在平时的工作中能熟悉、借鉴、参考RocketMQ的优秀设计理念,在技术能力上更进一步,在工作中更好地服务公司。
		
	
李伟Apache RocketMQ北京社区联合发起人,RocketMQ项目Commiter,RocketMQ社区Python客户端项目负责人。目前就职于北京某在线教育公司,担任数据中间件架构师,负责公司内部消息和数据流平台,对分布式存储系统设计和研发有丰富经验,热衷于知识分享和社区活动。座右铭:Programming is not only a way to problems,but also to think!
目  录
第1章  RoketMQ综述	1
1.1  什么是消息队列	2
1.2  为什么需要消息队列	4
1.2.1  削峰填谷	4
1.2.2  程序间解耦	5
1.2.3  异步处理	6
1.2.4  数据的最终一致性	6
1.3  常见消息队列	7
1.4  RocketMQ的发展史与未来	9
1.4.1  RocketMQ的发展史	9
1.4.2  Apache RocketMQ的未来	11
第2章  RocketMQ的生产者原理和最佳实践	14
2.1  生产者原理	15
2.1.1  生产者概述	15
2.1.2  消息结构和消息类型	16
2.1.3  生产者高可用	17
2.2  生产者启动流程	22
2.3  消息发送流程	32
2.4  发送消息最佳实践	36
2.4.1  发送普通消息	36
2.4.2  发送顺序消息	37
2.4.3  发送延迟消息	37
2.4.4  发送事务消息	38
2.4.5  发送单向消息	40
2.4.6  批量消息发送	41
2.5  生产者最佳实践总结	42
第3章  RocketMQ的消费流程和最佳实践	44
3.1  消费者概述	45
3.1.1  消费流程	45
3.1.2  消费模式	46
3.1.3  可靠消费	48
3.2  消费者启动机制	50
3.3  消费者的Rebalance机制	58
3.4  消费进度保存机制	65
3.5  消费方式	70
3.5.1  Pull消费流程	71
3.5.2  Push消费流程	72
3.6  消息过滤	86
3.6.1  为什么要设计过滤功能	86
3.6.2  RocketMQ支持消息过滤	86
3.7  消费者最佳实践总结	91
第4章  RocketMQ架构和部署最佳实践	94
4.1  RocketMQ架构	95
4.2  常用的部署拓扑和部署实践	96
4.2.1  常用的拓扑图	96
4.2.2  同步复制、异步复制和同步刷盘、异步刷盘	97
4.2.3  部署实践	98
第5章  Namesrv	102
5.1  Namesrv概述	103
5.1.1  什么是Namesrv	103
5.1.2  Namesrv核心数据结构和API	103
5.1.3  Namesrv和Zookeeper	105
5.2  Namesrv架构	106
5.2.1  Namesrv组件	106
5.2.2  Namesrv启动流程	108
5.2.3  Namesrv停止流程	110
5.3  RocketMQ的路由原理	111
5.3.1  路由注册	111
5.3.2  路由剔除	112
第6章  Broker存储机制	114
6.1  Broker概述	115
6.1.1  什么是Broker	115
6.1.2  Broker存储目录结构	116
6.1.3  Broker启动和停止流程	117
6.2  Broker存储机制	125
6.2.1  Broker消息存储结构	126
6.2.2  Broker消息存储机制	130
6.2.3  Broker读写分离机制	150
6.3  Broker CommitLog索引机制	155
6.3.1  索引的数据结构	155
6.3.2  索引的构建过程	158
6.3.3  索引如何使用	159
6.4  Broker过期文件删除机制	162
6.4.1  CommitLog文件的删除过程	162
6.4.2  Consume Queue、Index File文件的删除过程	166
6.5  Broker主从同步机制	167
6.5.1  主从同步概述	168
6.5.2  主从同步流程	169
6.6  Broker的关机恢复机制	174
6.6.1  Broker关机恢复概述	174
6.6.2  Broker关机恢复流程	177
第7章  RocketMQ特性——事务消息与延迟消息机制	182
7.1  事务消息概述	183
7.2  事务消息机制	184
7.2.1  生产者发送事务消息和执行本地事务	184
7.2.2  Broker存储事务消息	188
7.2.3  Broker回查事务消息	191
7.2.4  Broker提交或回滚事务消息	197
7.3  延迟消息概述	201
7.4  延迟消息机制	203
7.4.1  延迟消息存储机制	203
7.4.2  延迟消息投递机制	205
第8章  RocketMQ源代码阅读	208
8.1  RocketMQ源代码结构概述	209
8.2  RocketMQ源代码编译	212
8.3  如何阅读源代码	214
8.4  源代码阅读范例:通过消息id查询消息	216
第9章  RocketMQ企业最佳实践	224
9.1  RocketMQ落地概述	225
9.1.1  为什么选择RocketMQ	225
9.1.2  如何做RocketMQ的集群管理	226
9.2  RocketMQ集群管理	230
9.2.1  Topic管理	230
9.2.2  消费者管理	235
9.3  RocketMQ集群监控和报警	240
9.3.1  监控和报警架构	240
9.3.2  基于Grafana监控	242
9.3.3  基于Prometheus的报警	243
9.4  RocketMQ集群迁移	244
9.5  RocketMQ测试环境实践	245
9.6  RocketMQ接入实践	247
9.6.1  Spring接入RocketMQ	247
9.6.2  Python接入RocketMQ	249
附录	252