分布式系統(tǒng)架構(gòu):技術(shù)棧詳解與快速進(jìn)階
 
		
	
		
					 定  價(jià):89 元 
					
								  叢書名:架構(gòu)師書庫
					
				 
				 
				  
				
				   
				 
				  
				
						
								
									當(dāng)前圖書已被 25 所學(xué)校薦購過!
								
								
									查看明細(xì)
								 
							 
							
							
								
							
				 
	
				
					
						- 作者:張程
 - 出版時間:2020/6/1
 
						- ISBN:9787111655909
 
						- 出 版 社:機(jī)械工業(yè)出版社
 
					
				  
  
		
				- 中圖法分類:TP316.4 
  - 頁碼:0
 - 紙張:
 - 版次:
 - 開本:16開
 
				
					 
					
			
				
  
   
 
	 
	 
	 
	
	
	
		
		內(nèi)容簡介
本書從全棧角度講解了分布式系統(tǒng)涉及的各項(xiàng)主要技術(shù),從原理剖析、應(yīng)用場景和實(shí)踐案例3個維度展開,是作者多年分布式系統(tǒng)研發(fā)和架構(gòu)經(jīng)驗(yàn)的總結(jié)。
從前端到后端、從高效交互到負(fù)載均衡、從網(wǎng)絡(luò)傳輸?shù)絎eb服務(wù)器、從高并發(fā)到高可用……本書囊括了分布式系統(tǒng)的整個技術(shù)體系,內(nèi)容詳實(shí)、結(jié)構(gòu)清晰,能幫助讀者理解和掌握分布式系統(tǒng)架構(gòu)設(shè)計(jì)的難點(diǎn)和調(diào)優(yōu)方案。
全書一共10章,具體內(nèi)容如下:
第1章介紹了分布式架構(gòu)的理念、目標(biāo)、作用,以及架構(gòu)和設(shè)計(jì)中的難點(diǎn);
第2章講解了分布式架構(gòu)中前端和后端的交互方式、交互難點(diǎn)、高效交互調(diào)優(yōu);
第3章講解了分布式環(huán)境下網(wǎng)絡(luò)傳輸?shù)倪^程、難點(diǎn)、性能調(diào)優(yōu);
第4章講解了Nginx的負(fù)載均衡、頁面緩存、限流、高可用、性能調(diào)優(yōu);
第5章講解了Varnish的HTTP加速、數(shù)據(jù)緩存、緩存策略、高可用、性能調(diào)優(yōu);
第6章講解了Tomcat的原理、加載機(jī)制、安全管理、高可用集群、性能優(yōu)化;
第7章講解了分布式環(huán)境中高并發(fā)的問題,通過多種技術(shù)方案,如緩存、消息隊(duì)列、分布式鎖等方式去優(yōu)化和處理,提高系統(tǒng)整體的吞吐量;
第8章介紹了普通事務(wù)與分布式事務(wù)的差異性,以及分布式事務(wù)的多種處理方式;
第9章講解了如何通過高效索引優(yōu)化、高可用的技術(shù)方案讓MySQL能夠提供更高效的數(shù)據(jù)庫服務(wù);
第10章講解了分布式環(huán)境中的高可用,即如何通過容量預(yù)估、全鏈路壓測、容災(zāi)設(shè)計(jì)來提高系統(tǒng)整體的可用性和健壯性。
		
	
前 言
第1章 分布式架構(gòu)介紹  1
1.1 分布式架構(gòu)發(fā)展過程  2
1.2 分布式架構(gòu)設(shè)計(jì)理念和目標(biāo)  6
1.2.1 設(shè)計(jì)理念  6
1.2.2 設(shè)計(jì)目標(biāo)  7
1.3 分布式架構(gòu)應(yīng)用場景  10
1.4 分布式架構(gòu)設(shè)計(jì)難點(diǎn)  10
1.4.1 網(wǎng)絡(luò)因素  10
1.4.2 服務(wù)可用性  11
1.4.3 數(shù)據(jù)一致性  12
1.5 分布式架構(gòu)解決痛點(diǎn)  13
1.6 本章小結(jié)  14
第2章 分布式架構(gòu)前后端交互  15
2.1 前后端交互發(fā)展過程  15
2.1.1 傳統(tǒng)交互模式  16
2.1.2 前后端分離交互模式  19
2.1.3 整體交互  22
2.2 前后端交互方式  22
2.2.1 工作流程  22
2.2.2 交互常見狀態(tài)碼  29
2.3 前后端交互難點(diǎn)  30
2.4 前后端交互優(yōu)化  32
2.5 案例講解  37
2.6 本章小結(jié)  40
第3章 分布式架構(gòu)網(wǎng)絡(luò)傳輸  41
3.1 網(wǎng)絡(luò)傳輸協(xié)議  41
3.2 網(wǎng)絡(luò)傳輸調(diào)用過程  46
3.2.1 協(xié)議概述  46
3.2.2 傳輸過程  48
3.3 網(wǎng)絡(luò)傳輸優(yōu)化  52
3.4 本章小結(jié)  54
第4章 分布式架構(gòu)Nginx  55
4.1 Nginx工作原理  55
4.2 Nginx源碼編譯安裝  57
4.3 Nginx配置  62
4.4 Nginx代理&負(fù)載均衡  64
4.4.1 正向代理  66
4.4.2 反向代理  66
4.4.3 動靜分離  68
4.4.4 負(fù)載均衡策略  69
4.5 Nginx緩存  74
4.6 Nginx限流  76
4.7 Nginx屏蔽  79
4.8 Nginx優(yōu)化  79
4.8.1 優(yōu)化思路  79
4.8.2 核心配置優(yōu)化  79
4.9 Nginx高可用  82
4.10 本章小結(jié)  86
第5章 分布式架構(gòu)Varnish  87
5.1 Varnish工作原理  87
5.2 Varnish源碼編譯安裝  89
5.3 Varnish配置  92
5.4 Varnish核心指令  98
5.4.1 Varnish核心指令之backend  98
5.4.2 Varnish核心指令之director  98
5.5 Varnish緩存  102
5.5.1 Varnish緩存狀態(tài)  102
5.5.2 Varnish緩存管理  104
5.6 Varnish處理策略  105
5.6.1 pass  106
5.6.2 pipe  106
5.6.3 lookup  107
5.7 Varnish健康檢查  107
5.8 Varnish優(yōu)化  109
5.8.1 Varnish優(yōu)化思路  109
5.8.2 Varnish優(yōu)化講解  109
5.9 Varnish高可用  111
5.10 本章小結(jié)  116
第6章 分布式架構(gòu)Tomcat  117
6.1 Tomcat原理  117
6.2 Tomcat生命周期  123
6.3 Tomcat源碼編譯安裝  124
6.4 Tomcat目錄結(jié)構(gòu)  126
6.4.1 bin目錄  126
6.4.2 conf目錄  127
6.4.3 lib目錄  128
6.4.4 logs目錄  129
6.4.5 webapps目錄  129
6.5 Tomcat加載過程  130
6.5.1 Bootstrap類初始化  130
6.5.2 Bootstrap啟動  132
6.6 Tomcat安全  135
6.6.1 配置調(diào)整  135
6.6.2 安全策略  136
6.6.3 SSL傳輸安全  136
6.7 Tomcat集群  137
6.7.1 集群組件實(shí)現(xiàn)  138
6.7.2 集群配置  139
6.8 JVM  142
6.8.1 Class文件結(jié)構(gòu)  143
6.8.2 類的裝載、連接和初始化  145
6.8.3 JVM的內(nèi)存分配  148
6.8.4 JVM執(zhí)行引擎  151
6.8.5 垃圾回收  152
6.9 Tomcat性能調(diào)優(yōu)  158
6.9.1 性能測試  158
6.9.2 性能優(yōu)化  162
6.10 本章小結(jié)  167
第7章 分布式架構(gòu)高并發(fā)  168
7.1 高并發(fā)使用場景  169
7.2 高并發(fā)難點(diǎn)  171
7.2.1 高并發(fā)期間如何避免產(chǎn)生臟數(shù)據(jù)  171
7.2.2 當(dāng)出現(xiàn)臟數(shù)據(jù)后如何處理  171
7.2.3 高并發(fā)期間如何節(jié)約帶寬  172
7.3 高并發(fā)之緩存  174
7.3.1 Redis介紹  174
7.3.2 Redis原理  175
7.3.3 Redis安裝編譯  176
7.3.4 Redis數(shù)據(jù)結(jié)構(gòu)  178
7.3.5 Redis持久化  181
7.3.6 Redis事務(wù)  183
7.3.7 Redis分布式鎖  186
7.3.8 Redis任務(wù)隊(duì)列  189
7.3.9 Redis高并發(fā)處理常見問題及解決方案  201
7.3.10 Redis高可用  211
7.3.11 Redis調(diào)優(yōu)  213
7.4 高并發(fā)之消息隊(duì)列  214
7.4.1 RocketMQ介紹  214
7.4.2 RocketMQ安裝編譯  217
7.4.3 RocketMQ應(yīng)用場景  221
7.4.4 RocketMQ路由中心  222
7.4.5 RocketMQ消息存儲結(jié)構(gòu)  224
7.4.6 RocketMQ刷盤和復(fù)制策略  226
7.4.7 RocketMQ消息隊(duì)列  227
7.4.8 RocketMQ高并發(fā)處理常見問題及解決方案  238
7.4.9 RocketMQ集群  240
7.4.10 RocketMQ調(diào)優(yōu)  240
7.5 高并發(fā)優(yōu)化  242
7.5.1 優(yōu)化思路  242
7.5.2 優(yōu)化方案  243
7.6 高并發(fā)經(jīng)典案例  245
7.7 本章小結(jié)  249
第8章 分布式架構(gòu)事務(wù)  250
8.1 分布式事務(wù)介紹  251
8.1.1 本地事務(wù)  251
8.1.2 全局事務(wù)  253
8.1.3 兩階段提交  254
8.1.4 分布式事務(wù)  255
8.1.5 小結(jié)  255
8.2 分布式事務(wù)概論  256
8.2.1 CAP定理  256
8.2.2 BASE理論  257
8.3 分布式事務(wù)應(yīng)用場景  258
8.4 分布式事務(wù)難點(diǎn)  259
8.4.1 網(wǎng)絡(luò)因素  259
8.4.2 消息重復(fù)發(fā)送  260
8.4.3 CAP定理選擇  262
8.5 分布式事務(wù)解決方案  262
8.5.1 最大努力通知  263
8.5.2 TCC事務(wù)補(bǔ)償  273
8.5.3 消息一致性  284
8.6 分布式事務(wù)案例講解  295
8.7 本章小結(jié)  297
第9章 分布式架構(gòu)MySQL  298
9.1 MySQL運(yùn)行原理  299
9.2 MySQL編譯啟動  304
9.3 MySQL事務(wù)  307
9.3.1 事務(wù)特性  307
9.3.2 隔離級別  308
9.3.3 死鎖  308
9.3.4 事務(wù)日志  309
9.4 MySQL存儲引擎  310
9.4.1 概述  310
9.4.2 InnoDB  311
9.4.3 MyISAM  313
9.5 MySQL之SQL操作  314
9.5.1 SQL介紹  314
9.5.2 庫  316
9.5.3 表  316
9.6 MySQL索引  317
9.6.1 索引概述  317
9.6.2 數(shù)據(jù)結(jié)構(gòu)  318
9.6.3 索引分類  319
9.6.4 創(chuàng)建索引  319
9.7 MySQL備份  321
9.7.1 備份概述  321
9.7.2 備份類型  321
9.7.3 備份內(nèi)容  322
9.8 MySQL難點(diǎn)  323
9.8.1 死鎖  323
9.8.2 連接數(shù)過多  325
9.8.3 主從復(fù)制延遲  325
9.8.4 CPU飆高  326
9.8.5 索引效率  326
9.9 MySQL性能優(yōu)化  326
9.9.1 優(yōu)化思路  326
9.9.2 優(yōu)化過程  327
9.10 MySQL集群  331
9.11 本章小結(jié)  333
第10章 分布式架構(gòu)高可用  334
10.1 高可用概述及難點(diǎn)  334
10.2 高可用涉及內(nèi)容  336
10.3 高可用具體應(yīng)用  344
10.4 高可用案例講解  345
10.5 本章小結(jié)  346