分布式服務(wù)框架原理與實踐是一本服務(wù)框架平臺設(shè)計教材,由華為PaaS平臺架構(gòu)師李林鋒編著。全書條理清晰、由淺入深的解析了分布式服務(wù)架構(gòu)所涉及方方面面的關(guān)鍵技術(shù)和原理,包括原理分析、關(guān)鍵技術(shù)、開發(fā)案例以及業(yè)界技術(shù),既有縱向演進介紹,又有橫向競品對比。尤其針對各種場景所提出的設(shè)計原則或?qū)嵺`,這些統(tǒng)統(tǒng)都來自于作者的實戰(zhàn)總結(jié),有些甚至可以直接用于實戰(zhàn),不論是學(xué)習(xí)分布式服務(wù)技術(shù)還是深入大型互聯(lián)網(wǎng)架構(gòu)都非常實用。
《分布式服務(wù)框架原理與實踐》首先分析了作為一個分布式服務(wù)框架所需具備的能力,包括服務(wù)注冊中心、服務(wù)調(diào)用、服務(wù)路由、服務(wù)發(fā)布/灰度發(fā)布等;接著分析了服務(wù)底層如何有效地進行通信,包括通信框架、序列化/反序列化及協(xié)議棧等;然后分析了服務(wù)如何做到高可靠性及高安全性等重要特性;最后也闡述了從服務(wù)化如何向微服務(wù)演進。干貨滿滿。
全書簡介
本收作者李林鋒具有非常豐富的分布式服務(wù)框架、平臺中間件的架構(gòu)設(shè)計和實踐經(jīng)驗,主導(dǎo)設(shè)計的華為分布式服務(wù)框架已經(jīng)在全球數(shù)十個國家成功商用?!斗植际椒?wù)框架原理與實踐》中依托工作實踐,從分布式服務(wù)框架的架構(gòu)設(shè)計原理到實踐經(jīng)驗總結(jié),涵蓋了服務(wù)化架構(gòu)演進、訂閱發(fā)布、路由策略、集群容錯和服務(wù)治理等多個專題,全方位剖析服務(wù)框架的設(shè)計原則和原理,結(jié)合大量實踐案例與讀者分享作者對分布式服務(wù)框架設(shè)計和運維的體會。同時,對基于Docker部署微服務(wù)以及基于微服務(wù)架構(gòu)開發(fā)、部署和運維業(yè)務(wù)系統(tǒng)進行了詳細介紹。
作者簡介
李林鋒,現(xiàn)任華為PaaS平臺架構(gòu)師,8年JavaNIO通信框架、平臺中間件架構(gòu)設(shè)計和開發(fā)經(jīng)驗,主導(dǎo)設(shè)計和開發(fā)的華為分布式服務(wù)框架已經(jīng)在全球數(shù)十個國家成功商用。精通Netty、Mina、RPC框架、企業(yè)ESB總線、分布式服務(wù)框架等技術(shù),Netty專業(yè)書作者,公司總裁技術(shù)創(chuàng)新獎獲得者。
分布式服務(wù)框架原理與實踐pdf章節(jié)目錄
第1章應(yīng)用架構(gòu)演進1
1.1傳統(tǒng)垂直應(yīng)用架構(gòu)2
1.1.1垂直應(yīng)用架構(gòu)介紹2
1.1.2垂直應(yīng)用架構(gòu)面臨的挑戰(zhàn)4
1.2RPC架構(gòu)6
1.2.1RPC框架原理6
1.2.2最簡單的RPC框架實現(xiàn)8
1.2.3業(yè)界主流RPC框架14
1.2.4RPC框架面臨的挑戰(zhàn)17
1.3SOA服務(wù)化架構(gòu)18
1.3.1面向服務(wù)設(shè)計的原則18
1.3.2服務(wù)治理19
1.4微服務(wù)架構(gòu)21
1.4.1什么是微服務(wù)21
1.4.2微服務(wù)架構(gòu)對比SOA22
1.5總結(jié)23
第2章分布式服務(wù)框架入門25
2.1分布式服務(wù)框架誕生背景26
2.1.1應(yīng)用從集中式走向分布式.26?
2.1.2亟需服務(wù)治理28
2.2業(yè)界分布式服務(wù)框架介紹29
2.2.1阿里Dubbo30
2.2.2淘寶HSF33
2.2.3亞馬遜CoralService35
2.3分布式服務(wù)框架設(shè)計36
2.3.1架構(gòu)原理36
2.3.2功能特性37
2.3.3性能特性39
2.3.4可靠性39
2.3.5服務(wù)治理40
2.4總結(jié)41
第3章通信框架42
3.1關(guān)鍵技術(shù)點分析43
3.1.1長連接還是短連接43
3.1.2BIO還是NIO43
3.1.3自研還是選擇開源NIO框架46
3.2功能設(shè)計47
3.2.1服務(wù)端設(shè)計48
3.2.2客戶端設(shè)計50
3.3可靠性設(shè)計53
3.3.1鏈路有效性檢測54
3.3.2斷連重連機制56
3.3.3消息緩存重發(fā)57
3.3.4資源優(yōu)雅釋放58
3.4性能設(shè)計59
3.4.1性能差的三宗罪59
3.4.2通信性能三原則60
3.4.3高性能之道61
3.5最佳實踐61
3.6總結(jié)64
第4章序列化與反序列化65
4.1幾個關(guān)鍵概念澄清66
4.1.1序列化與通信框架的關(guān)系66
4.1.2序列化與通信協(xié)議的關(guān)系66
4.1.3是否需要支持多種序列化方式67
4.2功能設(shè)計67
4.2.1功能豐富度67
4.2.2跨語言支持68
4.2.3兼容性69
4.2.4性能70
4.3擴展性設(shè)計71
4.3.1內(nèi)置的序列化/反序列化功能類71
4.3.2反序列化擴展72
4.3.3序列化擴展75
4.4最佳實踐77
4.4.1接口的前向兼容性規(guī)范77
4.4.2高并發(fā)下的穩(wěn)定性78
4.5總結(jié)78
第5章協(xié)議棧79
5.1關(guān)鍵技術(shù)點分析.80
5.1.1是否必須支持多協(xié)議80
5.1.2公有協(xié)議還是私有協(xié)議80
5.1.3集成開源還是自研81
5.2功能設(shè)計82
5.2.1功能描述82
5.2.2通信模型82
5.2.3協(xié)議消息定義84
5.2.4協(xié)議棧消息序列化支持的字段類型85
5.2.5協(xié)議消息的序列化和反序列化86
5.2.6鏈路創(chuàng)建89
5.2.7鏈路關(guān)閉90
5.3可靠性設(shè)計90
5.3.1客戶端連接超時90
5.3.2客戶端重連機制91
5.3.3客戶端重復(fù)握手保護91
5.3.4消息緩存重發(fā)92
5.3.5心跳機制92
5.4安全性設(shè)計92
5.5最佳實踐—協(xié)議的前向兼容性94
5.6總結(jié)95
第6章服務(wù)路由96
6.1透明化路由97
6.1.1基于服務(wù)注冊中心的訂閱發(fā)布97
6.1.2消費者緩存服務(wù)提供者地址98
6.2負載均衡98
6.2.1隨機98
6.2.2輪循99
6.2.3服務(wù)調(diào)用時延99
6.2.4一致性哈希100
6.2.5粘滯連接101
6.3本地路由優(yōu)先策略102
6.3.1injvm模式102
6.3.2innative模式102
6.4路由規(guī)則103
6.4.1條件路由規(guī)則103
6.4.2腳本路由規(guī)則104
6.5路由策略定制105
6.6配置化路由106
6.7最佳實踐—多機房路由107
6.8總結(jié)108
第7章集群容錯109
7.1集群容錯場景110
7.1.1通信鏈路故障110
7.1.2服務(wù)端超時111
7.1.3服務(wù)端調(diào)用失敗111
7.2容錯策略112
7.2.1失敗自動切換(Failover)112
7.2.2失敗通知(Failback)113
7.2.3失敗緩存(Failcache)113
7.2.4快速失?。‵ailfast)114
7.2.5容錯策略擴展114
7.3總結(jié)115
第8章服務(wù)調(diào)用116
8.1幾個誤區(qū)117
8.1.1NIO就是異步服務(wù)117
8.1.2服務(wù)調(diào)用天生就是同步的118
8.1.3異步服務(wù)調(diào)用性能更高120
8.2服務(wù)調(diào)用方式120
8.2.1同步服務(wù)調(diào)用120
8.2.2異步服務(wù)調(diào)用121
8.2.3并行服務(wù)調(diào)用125
8.2.4泛化調(diào)用129
8.3最佳實踐130
8.4總結(jié)131
第9章服務(wù)注冊中心132
9.1幾個概念133
9.1.1服務(wù)提供者133
9.1.2服務(wù)消費者133
9.1.3服務(wù)注冊中心133
9.2關(guān)鍵功能特性設(shè)計134
9.2.1支持對等集群135
9.2.2提供CRUD接口136
9.2.3安全加固136
9.2.4訂閱發(fā)布機制137
9.2.5可靠性138
9.3基于ZooKeeper的服務(wù)注冊中心設(shè)計139
9.3.1服務(wù)訂閱發(fā)布流程設(shè)計139
9.3.2服務(wù)健康狀態(tài)檢測141
9.3.3對等集群防止單點故障142
9.3.4變更通知機制144
9.4總結(jié)144
第10章服務(wù)發(fā)布和引用145
10.1服務(wù)發(fā)布設(shè)計146
10.1.1服務(wù)發(fā)布的幾種方式146
10.1.2本地實現(xiàn)類封裝成代理148
10.1.3服務(wù)發(fā)布成指定協(xié)議148
10.1.4服務(wù)提供者信息注冊149
10.2服務(wù)引用設(shè)計150
10.2.1本地接口調(diào)用轉(zhuǎn)換成遠程服務(wù)調(diào)用150
10.2.2服務(wù)地址本地緩存151
10.2.3遠程服務(wù)調(diào)用151
10.3最佳實踐152
10.3.1對等設(shè)計原則152
10.3.2啟動順序問題153
10.3.3同步還是異步發(fā)布服務(wù)153
10.3.4警惕網(wǎng)絡(luò)風暴154
10.3.5配置擴展154
10.4總結(jié)156
第11章服務(wù)灰度發(fā)布157
11.1服務(wù)灰度發(fā)布流程設(shè)計158
11.1.1灰度環(huán)境準備158
11.1.2灰度規(guī)則設(shè)置159
11.1.3灰度規(guī)則下發(fā)160
11.1.4灰度路由161
11.1.5失敗回滾162
11.1.6灰度發(fā)布總結(jié)163
11.2總結(jié)163
第12章參數(shù)傳遞164
12.1內(nèi)部傳參165
12.1.1業(yè)務(wù)內(nèi)部參數(shù)傳遞165
12.1.2服務(wù)框架內(nèi)部參數(shù)傳遞168
12.2外部傳參169
12.2.1通信協(xié)議支持169
12.2.2傳參接口定義170
12.3最佳實踐171
12.3.1防止參數(shù)互相覆蓋171
12.3.2參數(shù)生命周期管理171
12.4總結(jié)172
第13章服務(wù)多版本173
13.1服務(wù)多版本管理設(shè)計174
13.1.1服務(wù)版本號管理174
13.1.2服務(wù)提供者175
13.1.3服務(wù)消費者175
13.1.4基于版本號的服務(wù)路由176
13.1.5服務(wù)熱升級177
13.2與OSGi的對比178
13.2.1模塊化開發(fā)179
13.2.2插件熱部署和熱升級184
13.2.3不使用OSGi的其他理由185
13.3總結(jié)185
第14章流量控制186
14.1靜態(tài)流控187
14.1.1傳統(tǒng)靜態(tài)流控設(shè)計方案187
14.1.2傳統(tǒng)方案的缺點188
14.1.3動態(tài)配額分配制188
14.1.4動態(tài)配額申請制190
14.2動態(tài)流控191
14.2.1動態(tài)流控因子192
14.2.2分級流控192
14.3并發(fā)控制193
14.3.1服務(wù)端全局控制193
14.3.2服務(wù)消費者流控194
14.4連接控制195
14.4.1服務(wù)端連接數(shù)流控195
14.4.2服務(wù)消費者連接數(shù)流控195
14.5并發(fā)和連接控制算法195
14.6總結(jié)197
第15章服務(wù)降級198
15.1屏蔽降級199
15.1.1屏蔽降級的流程199
15.1.2屏蔽降級的設(shè)計實現(xiàn)200
15.2容錯降級202
15.2.1容錯降級的工作原理202
15.2.2運行時容錯降級.204
15.3業(yè)務(wù)層降級205
15.4總結(jié)205
第16章服務(wù)優(yōu)先級調(diào)度207
16.1設(shè)置服務(wù)優(yōu)先級208
16.2線程調(diào)度器方案209
16.3Java優(yōu)先級隊列210
16.4加權(quán)優(yōu)先級隊列211
16.5服務(wù)遷入遷出212
16.6總結(jié)213
第17章服務(wù)治理214
17.1服務(wù)治理技術(shù)的歷史變遷215
17.1.1SOAGovernance215
17.1.2分布式服務(wù)框架服務(wù)治理217
17.1.3AWS云端微服務(wù)治理217
17.2應(yīng)用服務(wù)化后面臨的挑戰(zhàn)218
17.2.1跨團隊協(xié)作問題219
17.2.2服務(wù)的上下線管控220
17.2.3服務(wù)安全220
17.2.4服務(wù)SLA保障.221
17.2.5故障快速定界定位221
17.3服務(wù)治理222
17.3.1服務(wù)治理架構(gòu)設(shè)計223
17.3.2運行態(tài)服務(wù)治理功能設(shè)計225
17.3.3線下服務(wù)治理232
17.3.4安全和權(quán)限管理234
17.4總結(jié)237
第18章分布式消息跟蹤239
18.1業(yè)務(wù)場景分析240
18.1.1故障的快速定界定位240
18.1.2調(diào)用路徑分析241
18.1.3調(diào)用來源和去向分析242
18.2分布式消息跟蹤系統(tǒng)設(shè)計242
18.2.1系統(tǒng)架構(gòu)243
18.2.2埋點日志244
18.2.3采樣率247
18.2.4采集和存儲埋點日志248
18.2.5計算和展示249
18.2.6調(diào)用鏈擴展251
18.3總結(jié)251
第19章可靠性設(shè)計253
19.1服務(wù)狀態(tài)檢測254
19.1.1基于服務(wù)注冊中心狀態(tài)檢測254
19.1.2鏈路有效性狀態(tài)檢測機制255
19.2服務(wù)健康度檢測256
19.3服務(wù)故障隔離257
19.3.1進程級故障隔離257
19.3.2VM級故障隔離259
19.3.3物理機故障隔離260
19.3.4機房故障隔離261
19.4其他可靠性特性262
19.4.1服務(wù)注冊中心262
19.4.2監(jiān)控中心262
19.4.3服務(wù)提供者262
19.5總結(jié)263
第20章微服務(wù)架構(gòu)264
20.1微服務(wù)架構(gòu)產(chǎn)生的歷史背景265
20.1.1研發(fā)成本挑戰(zhàn)265
20.1.2運維成本高267
20.1.3新需求上線周期長268
20.2微服務(wù)架構(gòu)帶來的改變268
20.2.1應(yīng)用解耦268
20.2.2分而治之270
20.2.3敏捷交付271
20.3微服務(wù)架構(gòu)解析271
20.3.1微服務(wù)劃分原則272
20.3.2開發(fā)微服務(wù)272
20.3.3基于Docker容器部署微服務(wù)274
20.3.4治理和運維微服務(wù)277
20.3.5特點總結(jié)278
20.4總結(jié)279
第21章服務(wù)化最佳實踐280
21.1性能和時延問題281
21.1.1RPC框架高性能設(shè)計281
21.1.2業(yè)務(wù)最佳實踐285
21.2事務(wù)一致性問題286
21.2.1分布式事務(wù)設(shè)計方案287
21.2.2分布式事務(wù)優(yōu)化288
21.3研發(fā)團隊協(xié)作問題289
21.3.1共用服務(wù)注冊中心290
21.3.2直連提供者290
21.3.3多團隊進度協(xié)同291
21.3.4服務(wù)降級和Mock測試291
21.3.5協(xié)同調(diào)試問題292
21.3.6接口前向兼容性292
21.4總結(jié)292
使用說明
1、下載并解壓,得出pdf文件
2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
有柿電腦版 v11.8.6101.82M / 簡體中文
網(wǎng)易新聞電腦版 v113.697.68M / 簡體中文
瀟湘書院電腦版 v2.3.13.91049.58M / 簡體中文
網(wǎng)易云閱讀電腦版 v6.7.226.41M / 簡體中文
京東讀書電腦版 v1.13.4官方版2.13M / 簡體中文
數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡體中文
吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
本草綱目 5.34M / 簡體中文