-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
分布式系統(tǒng)架構(gòu)與開發(fā) 技術(shù)原理與面試題解析 版權(quán)信息
- ISBN:9787111712688
- 條形碼:9787111712688 ; 978-7-111-71268-8
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
分布式系統(tǒng)架構(gòu)與開發(fā) 技術(shù)原理與面試題解析 本書特色
適讀人群 :需要掌握各個分布式技術(shù)組件,想要將這些組件引入日常研發(fā)過程中的開發(fā)人員。 對Dubbo、Spring Cloud、MyBatis 等框架有一定使用經(jīng)驗,想要將主流分布式框架更好地應用到日常研發(fā)過程中的開發(fā)人員。 想要進一步理解主流分布式框架內(nèi)部實現(xiàn)原理的開發(fā)人員。 需要應對技術(shù)原理類面試的開發(fā)人員。(1)作者經(jīng)驗豐富:15年研發(fā)和架構(gòu)經(jīng)驗,曾擔任多家上市公司和獨角獸公司技術(shù)總監(jiān)和CTO等職務,對分布式系統(tǒng)技術(shù)棧有深入研究。(2)內(nèi)容針對性強:詳解分布式系統(tǒng)的14個核心技術(shù)組件的實現(xiàn)原理、應用方式、設計思想,針對性地解決分布式系統(tǒng)的難題。(3)內(nèi)容有創(chuàng)新性:與同類書不同,本書搜集并分析了每個主題下的高頻大廠面試題,旨在幫助讀者在面試和晉升時事半功倍。(4)內(nèi)容實戰(zhàn)性強:注重實用性,基于作者近15年的經(jīng)驗,通過豐富的場景案例提供了大量應用方案和*佳實踐。(5)授人以魚和漁:不僅分析了Dubbo、Spring Cloud、MyBatis等主流開源框架的源代碼結(jié)構(gòu),還給出了分析框架源碼的方法論;不僅分析了50余道大廠的分布式系統(tǒng)面試題,還給出了技術(shù)性面試的方法論。
分布式系統(tǒng)架構(gòu)與開發(fā) 技術(shù)原理與面試題解析 內(nèi)容簡介
本書能幫助讀者深入理解和掌握分布式系統(tǒng)架構(gòu)與開發(fā),以及快速了解各互聯(lián)網(wǎng)大廠在分布式系統(tǒng)方面的高頻面試題及其解法。
作者有超過15年的架構(gòu)與研發(fā)經(jīng)驗,在分布式系統(tǒng)方面,積累了大量的項目經(jīng)驗和面試經(jīng)驗。分布式系統(tǒng)涉及的技術(shù)多且復雜,作者根據(jù)自己的經(jīng)驗,化繁為簡,將從事分布式系統(tǒng)架構(gòu)與開發(fā)的技術(shù)與能力,全部總結(jié)在了本書中,包含但不限于以下內(nèi)容:
(1)拋開具體的框架,詳細講解分布式系統(tǒng)的全棧技術(shù)組件的實現(xiàn)原理、應用方式、設計思想,具體包括網(wǎng)絡通信、遠程調(diào)用、負載均衡、服務容錯、服務降級、注冊中心、服務網(wǎng)關(guān)、配置中心、消息通信、動態(tài)代理、應用緩存、資源管理、框架集成和架構(gòu)模式。這些組件在各種分布式系統(tǒng)框架中是通用的,掌握本書內(nèi)容后,讀者在面對各種具體的框架時可以觸類旁通。
(2)深入剖析Dubbo、SpringCloud、MyBatis等主流開源框架的源代碼結(jié)構(gòu),分析它們的底層實現(xiàn)原理,提煉分布式系統(tǒng)開發(fā)精髓。
(3)創(chuàng)造一套剖析框架源代碼結(jié)構(gòu)的系統(tǒng)方法,分別基于組件設計原則、架構(gòu)演進過程、核心執(zhí)行流程、基礎(chǔ)架構(gòu)組成和可擴展性設計這5大主題展開講解,指導讀者高效學習其他開源框架。
(4)作者結(jié)合多年的面試和培訓經(jīng)驗,針對每個技術(shù)組件梳理了一組面試題。這些面試題大多是阿里巴巴、京東、網(wǎng)易等大廠的真題,作者結(jié)合自己的理解對考點進行了解析,并將框架源碼與面試題融合貫通。同時對于技術(shù)人員如何實現(xiàn)自我成長和高效應對技術(shù)面試,給出了系統(tǒng)性的方法論。
分布式系統(tǒng)架構(gòu)與開發(fā) 技術(shù)原理與面試題解析 目錄
前言
第1章 認識分布式系統(tǒng)1
1.1 分布式系統(tǒng)概述1
1.1.1 從單塊系統(tǒng)到分布式系統(tǒng)1
1.1.2 分布式系統(tǒng)的基本特性3
1.1.3 分布式系統(tǒng)和微服務架構(gòu)4
1.2 分布式系統(tǒng)的核心設計要求6
1.2.1 性能6
1.2.2 可用性6
1.2.3 可擴展性6
1.2.4 服務治理7
1.3 分布式系統(tǒng)開發(fā)技術(shù)組件7
1.3.1 遠程過程調(diào)用組件8
1.3.2 微服務構(gòu)建組件10
1.3.3 通用技術(shù)組件13
1.4 分布式系統(tǒng)的主流開發(fā)套件15
1.4.1 Spring Boot15
1.4.2 Spring Cloud18
1.4.3 Dubbo18
1.4.4 MyBatis19
1.5 分布式系統(tǒng)面試題解析19
1.6 本章小結(jié)20
第2章 剖析框架代碼結(jié)構(gòu)的系統(tǒng)方法22
2.1 基于組件設計原則剖析代碼結(jié)構(gòu)23
2.1.1 為什么代碼結(jié)構(gòu)要這么設計23
2.1.2 組件設計原則與量化標準24
2.1.3 組件設計原則與代碼結(jié)構(gòu):
Dubbo與MyBatis28
2.1.4 循環(huán)依賴及其消除方法31
2.2 基于架構(gòu)演進過程剖析代碼結(jié)構(gòu)39
2.2.1 如何從易到難對框架進行
逐步拆解39
2.2.2 Dubbo的架構(gòu)演進過程40
2.3 基于主流程剖析代碼結(jié)構(gòu)46
2.3.1 如何抓住主流程并對框架
進行分層剖析46
2.3.2 MyBatis中的主流程46
2.4 基于基礎(chǔ)架構(gòu)組成剖析代碼結(jié)構(gòu)54
2.4.1 如何從基礎(chǔ)架構(gòu)擴展到
具體實現(xiàn)框架54
2.4.2 RPC基礎(chǔ)架構(gòu)54
2.4.3 從RPC基礎(chǔ)架構(gòu)擴展到
Dubbo框架61
2.5 基于可擴展性設計剖析代碼結(jié)構(gòu)65
2.5.1 如何在框架中預留可擴展點65
2.5.2 常見的可擴展性設計方法66
2.5.3 MyBatis TypeHandler機制68
2.6 剖析框架代碼結(jié)構(gòu)面試題解析72
2.7 本章小結(jié)73
第3章 網(wǎng)絡通信74
3.1 網(wǎng)絡通信與Dubbo框架74
3.1.1 網(wǎng)絡通信基本概念74
3.1.2 Dubbo中的網(wǎng)絡通信組件77
3.2 Dubbo服務器端通信原理77
3.2.1 服務器端Exchange77
3.2.2 服務器端Transport82
3.2.3 服務器端Serialize84
3.3 Dubbo客戶端通信原理87
3.4 網(wǎng)絡通信面試題解析89
3.5 本章小結(jié)90
第4章 遠程調(diào)用91
4.1 服務發(fā)布和引用92
4.1.1 如何發(fā)布遠程服務92
4.1.2 如何引用遠程服務93
4.2 Dubbo中的遠程調(diào)用94
4.2.1 Dubbo服務發(fā)布流程94
4.2.2 Dubbo服務引用流程101
4.3 遠程調(diào)用面試題解析109
4.4 本章小結(jié)110
第5章 負載均衡112
5.1 負載均衡基本原理112
5.1.1 負載均衡的類型113
5.1.2 負載均衡算法和策略114
5.2 Dubbo中的負載均衡116
5.2.1 Dubbo負載均衡整體結(jié)構(gòu)116
5.2.2 Dubbo負載均衡策略118
5.3 Spring Cloud中的負載均衡120
5.3.1 Netflix Ribbon核心機制120
5.3.2 Netflix Ribbon負載均衡策略122
5.3.3 Spring Cloud Netflix Ribbon
實現(xiàn)原理124
5.4 負載均衡面試題解析127
5.5 本章小結(jié)128
第6章 服務容錯129
6.1 服務容錯設計思想129
6.1.1 服務消費者容錯129
6.1.2 服務容錯策略130
6.2 Dubbo中的集群容錯132
6.2.1 Dubbo中的集群133
6.2.2 Dubbo中的容錯機制134
6.3 Spring Cloud中的服務熔斷136
6.3.1 Spring Cloud Circuit Breaker137
6.3.2 Hystrix熔斷機制139
6.4 服務容錯面試題解析147
6.5 本章小結(jié)148
第7章 服務降級149
7.1 服務降級策略149
7.1.1 服務分級149
7.1.2 服務回退150
7.2 Dubbo中的服務降級151
7.2.1 Dubbo中的Mock機制151
7.2.2 MockInvoker和Mock-
ClusterInvoker152
7.3 Spring Cloud中的服務降級154
7.3.1 Spring Cloud中的回退機制154
7.3.2 基于攔截器實現(xiàn)回退156
7.4 服務降級面試題解析158
7.5 本章小結(jié)159
第8章 注冊中心160
8.1 服務注冊和發(fā)現(xiàn)160
8.1.1 注冊中心模型160
8.1.2 注冊中心實現(xiàn)工具163
8.2 Dubbo中的注冊中心163
8.2.1 Dubbo注冊中心模型163
8.2.2 ZooKeeper基本原理與
操作方式164
8.2.3 ZooKeeper注冊中心實現(xiàn)過程166
8.3 Spring Cloud中的注冊中心172
8.3.1 Eureka注冊中心模型172
8.3.2 Eureka服務器端基本原理173
8.3.3 Eureka客戶端基本原理178
8.4 注冊中心面試題解析184
8.5 本章小結(jié)185
第9章 服務網(wǎng)關(guān)186
9.1 服務網(wǎng)關(guān)的核心概念187
9.1.1 服務網(wǎng)關(guān)的作用187
9.1.2 服務網(wǎng)關(guān)的結(jié)構(gòu)和功能188
9.2 Spring Cloud Gateway工作原理188
9.2.1 響應式編程概述189
9.2.2 Spring Cloud Gateway架構(gòu)192
9.2.3 路由和過濾器194
9.3 服務網(wǎng)關(guān)面試題解析204
9.4 本章小結(jié)205
第10章 配置中心206
10.1 配置中心基本模型207
10.1.1 配置中心與微服務架構(gòu)207
10.1.2 配置中心實現(xiàn)工具208
10.2 Spring Cloud Config工作機制209
10.2.1 Spring Cloud Config Server
工作機制209
10.2.2 Spring Cloud Config Client
工作機制213
10.3 Spring Cloud Config配置信息更新218
10.3.1 Spring Cloud Config客戶端
更新策略218
10.3.2 配置信息熱更新機制219
10.4 配置中心面試題解析223
10.5 本章小結(jié)225
第11章 消息通信226
11.1 事件驅(qū)動和消息通信226
11.1.1 事件驅(qū)動架構(gòu)的需求226
11.1.2 消息通信機制和消息中間件228
11.1.3 基于消息通信機制的系統(tǒng)
集成方法229
11.2 從Spring Messaging到
Spring Cloud Stream230
11.2.1 Spring Messaging和
Spring Integration 231
11.2.2 Spring Cloud Stream中的
Spring Integration233
11.2.3 Spring Cloud Stream基本架構(gòu)234
11.3 Spring Cloud Stream整合
消息中間件235
11.3.1 Spring Cloud Stream
發(fā)送和接收消息235
11.3.2 RabbitMQ發(fā)送和接收消息242
11.4 消息通信面試題解析245
11.5 本章小結(jié)246
第12章 動態(tài)代理247
12.1 代理模式和類型247
12.1.1 靜態(tài)代理機制248
12.1.2 動態(tài)代理機制249
12.2 Dubbo遠程訪問中的代理機制252
12.2.1 ProxyFactory252
12.2.2 JdkProxyFactory253
12.3 MyBatis數(shù)據(jù)訪問中的代理機制254
12.3.1 Mapper和動態(tài)代理254
12.3.2 延遲加載和動態(tài)代理258
12.4 動態(tài)代理面試題解析260
12.5 本章小結(jié)261
第13章 應用緩存263
13.1 應用緩存的設計策略263
13.1.1 經(jīng)典緩存分層架構(gòu)263
13.1.2 應用緩存的分級模式264
13.2 MyBatis一級緩存264
13.2.1 Cache264
13.2.2 PerpetualCache265
13.2.3 一級緩存與BaseExecutor268
13.3 MyBatis二級緩存271
13.3.1 CacheBuilder271
13.3.2 二級緩存與CachingExecutor274
13.4 應用緩存面試題解析277
13.5 本章小結(jié)278
第14章 資源管理279
14.1 資源管理和資源池279
14.1.1 資源池模型279
14.1.2 資源池實現(xiàn)示例280
14.2 MyBatis中的數(shù)據(jù)庫連接池282
14.2.1 連接池的工作流程和
核心要素283
14.2.2 Connection對象獲取過程284
14.2.3 PooledDataSource285
14.2.4 UnpooledDataSource289
14.3 資源管理面試題解析290
14.4 本章小結(jié)291
第15章 框架集成292
15.1 Spring中的啟動擴展點292
15.1.1 InitializingBean和
DisposableBean292
15.1.2 BeanPostProcessor295
15.1.3 Aware296
15.1.4 ApplicationListener299
15.2 Spring自定義標簽體系305
15.2.1 標簽擴展時機305
15.2.2 標簽擴展的開發(fā)流程305
15.3 Spring Boot自動配置310
15.4 Dubbo的框架集成312
15.4.1 Dubbo啟動機制313
15.4.2 Dubbo自定義配置標簽319
15.5 MyBatis的框架集成320
15.5.1 MyBatis-Spring啟動過程320
15.5.2 MyBatis-Spring-Boot-Starter326
15.6 框架集成面試題解析329
15.7 本章小結(jié)331
第16章 架構(gòu)模式332
16.1 架構(gòu)模式與應用332
16.1.1 模式的概念和分類332
16.1.2 基于架構(gòu)模式把握框架
設計思想333
16.2 微內(nèi)核模式及其應用334
16.2.1 微內(nèi)核模式和插件化系統(tǒng)334
16.2.2 微內(nèi)核模式的基本實現(xiàn):
SPI機制336
16.2.3 微內(nèi)核模式在Dubbo
中的應用339
16.2.4 Dubbo中的擴展點344
16.3 管道-過濾器模式及其應用346
16.3.1 管道-過濾器模式簡介346
16.3.2 管道-過濾器模式在
Dubbo中的應用351
16.3.3 管道-過濾器模式在MyBatis
中的應用354
16.4 架構(gòu)模式面試題解析360
16.5 本章小結(jié)362
分布式系統(tǒng)架構(gòu)與開發(fā) 技術(shù)原理與面試題解析 作者簡介
鄭天民資深架構(gòu)師和技術(shù)專家,有近15年的軟件研發(fā)和架構(gòu)經(jīng)驗,F(xiàn)擔任某知名健康科技公司技術(shù)總監(jiān),先后就職于多家大型上市公司和互聯(lián)網(wǎng)獨角獸公司,擔任系統(tǒng)架構(gòu)師、技術(shù)總監(jiān)和CTO等職務。 對架構(gòu)設計和技術(shù)管理有深入的理解,積累了豐富的經(jīng)驗,研發(fā)和主持過10余個面向研發(fā)人員的技術(shù)與管理類培訓課程。熱衷于總結(jié)和分享,著作有《系統(tǒng)架構(gòu)設計》等,譯作有《Spring響應式編程》等。 阿里云MVP、騰訊云TVP、TGO鯤鵬會會員
- >
羅庸西南聯(lián)大授課錄
- >
苦雨齋序跋文-周作人自編集
- >
姑媽的寶刀
- >
詩經(jīng)-先民的歌唱
- >
山海經(jīng)
- >
經(jīng)典常談
- >
李白與唐代文化
- >
上帝之肋:男人的真實旅程