注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信深入理解RPC框架原理與實現(xiàn)

深入理解RPC框架原理與實現(xiàn)

深入理解RPC框架原理與實現(xiàn)

定 價:¥118.00

作 者: 華鐘明 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121420948 出版時間: 2021-10-01 包裝: 平裝
開本: 16開 頁數(shù): 348 字數(shù):  

內(nèi)容簡介

  本書由淺入深、詳細地介紹了RPC技術和RPC框架的原理。除此之外,本書還詳細介紹了與RPC框架原理相關的技術,包括遠程通信技術、通信協(xié)議、序列化技術、動態(tài)代理技術、IDL等。本書首先介紹了RPC技術和RPC框架的發(fā)展背景、歷史及演進過程,以加深讀者對RPC技術的理解。然后介紹了常見的RPC框架,讓讀者能夠對這些RPC框架有整體上的了解。接下來將RPC框架的核心組成部分拆開,對這些組成部分逐個進行介紹,并且介紹相關的技術和概念,比如介紹遠程通信方式時,會介紹Socket技術、I/O模型等。本書接著介紹了實現(xiàn)簡易的RPC框架的流程,讓讀者能夠上手實際操作。本書還介紹了RPC框架是如何應對異構語言下的挑戰(zhàn)的,并且介紹了與RPC框架相關的服務治理內(nèi)容,包括注冊中心、配置中心、元數(shù)據(jù)中心、服務路由策略、負載均衡策略、高可用策略及服務可觀測性,讓讀者能夠全面地了解RPC框架。

作者簡介

  Apache Dubbo Committer,ServiceMesher中文社區(qū)成員,熱愛分享,熱衷開源,專注于服務化、分布式、云原生等技術領域,對這些技術領域有著深入的研究。

圖書目錄

目錄

第1部分 RPC概覽
第1章 初識RPC 2
1.1 計算機核心處理器簡介 3
1.1.1 單核處理器系統(tǒng)時代 3
1.1.2 多核處理器系統(tǒng)時代 4
1.1.3 多處理器系統(tǒng)時代 5
1.2 IPC簡介 6
1.3 RPC簡介 7
1.4 RPC的發(fā)展歷程 10
1.5 RPC核心組成部分 11
1.5.1 服務調(diào)用方 12
1.5.2 服務提供方 12
1.5.3 本地存根 12
1.5.4 RPC通信者 13
1.6 RPC調(diào)用過程 13
1.6.1 服務暴露的過程 14
1.6.2 服務發(fā)現(xiàn)的過程 15
1.6.3 服務引用的過程 16
1.6.4 方法調(diào)用的過程 16
第2章 初覽RPC框架 18
2.1 RPC框架簡介 19
2.2 RPC框架發(fā)展及市場現(xiàn)狀 21
2.3 Dubbo簡介 25
2.4 gRPC簡介 31
2.5 Thrift簡介 38
2.6 Spring Cloud簡介 44
2.6.1 Spring Cloud項目簡介 45
2.6.2 使用Spring Cloud的組件實現(xiàn)RPC調(diào)用的示例 51
2.7 選擇RPC框架的幾個角度 61
第2部分 RPC框架核心組件
第3章 遠程通信方式 68
3.1 遠程通信方式簡介 69
3.1.1 Socket簡介 69
3.1.2 Java對Socket接口的封裝 74
3.1.3 網(wǎng)絡應用程序框架 78
3.2 I/O模型 78
3.3 Java對I/O模型的封裝 81
3.3.1 BIO 81
3.3.2 NIO 82
3.3.3 AIO 93
3.4 遠程通信實現(xiàn)方案之Netty 99
3.4.1 Netty核心組件介紹 102
3.4.2 線程模型 105
3.5 遠程通信實現(xiàn)方案之Mina 111
3.6 遠程通信實現(xiàn)方案之Grizzly 119
第4章 通信協(xié)議 127
4.1 標準協(xié)議 128
4.2 傳輸層協(xié)議 131
4.3 應用層協(xié)議 136
4.4 自定義協(xié)議簡介 141
4.5 如何設計自定義協(xié)議 143
第5章 序列化 147
5.1 序列化和反序列化 148
5.2 文本格式的序列化方案 149
5.2.1 XML格式 150
5.2.2 JSON格式 152
5.3 二進制格式的序列化方案 158
5.4 序列化框架選型 167
第6章 動態(tài)代理 170
6.1 動態(tài)代理簡介 171
6.2 JDK自帶的動態(tài)代理方案 175
6.2.1 JDK實現(xiàn)動態(tài)代理的示例 175
6.2.2 通過JDK實現(xiàn)動態(tài)代理的原理 177
6.3 CGLib動態(tài)代理方案 183
6.3.1 使用CGLib實現(xiàn)動態(tài)代理的示例 184
6.3.2 使用CGLib實現(xiàn)動態(tài)代理的原理 185
6.4 Javassist動態(tài)代理方案 193
6.4.1 使用Javassist實現(xiàn)動態(tài)代理的示例 194
6.4.2 使用Javassist實現(xiàn)動態(tài)代理的原理 195
第7章 實現(xiàn)一個簡易的RPC框架 203
7.1 實現(xiàn)簡易的RPC框架 204
7.2 實現(xiàn)遠程調(diào)用 205
7.3 實現(xiàn)服務治理能力 216
7.4 使用簡易的RPC框架 222
第8章 異構語言應用調(diào)用 228
8.1 RPC在異構語言下的挑戰(zhàn) 229
8.2 IDL簡介 230
8.3 Dubbo在跨語言上的解決方案 232
8.3.1 Dubbo服務提供者 233
8.3.2 Dubbo服務消費者 237
8.4 CXF在跨語言上的解決方案 240
8.5 gRPC在跨語言上的解決方案 241
第3部分 服務治理
第9章 注冊中心 244
9.1 注冊中心簡介 245
9.2 CAP模型與ACID、BASE理論 250
9.3 分布式一致性 256
9.4 注冊中心實現(xiàn)方案之Eureka 262
9.5 注冊中心實現(xiàn)方案之ZooKeeper 265
9.6 注冊中心實現(xiàn)方案之Nacos 269
9.7 注冊中心在一致性和可用性之間的抉擇 273
第10章 配置中心 276
10.1 配置中心簡介 277
10.2 配置中心實現(xiàn)方案之Apollo 281
10.2.1 服務端的設計 283
10.2.2 客戶端的設計 285
10.3 配置中心實現(xiàn)方案之Nacos 286
第11章 元數(shù)據(jù)中心 292
11.1 元數(shù)據(jù)中心簡介 293
11.2 元數(shù)據(jù)中心的選型 295
第12章 服務的路由 297
12.1 路由策略 298
12.2 負載均衡策略 302
12.2.1 服務端負載均衡 303
12.2.2 客戶端負載均衡 304
12.3 負載均衡算法 305
12.3.1 隨機算法 306
12.3.2 輪詢算法 306
12.3.3 最少活躍數(shù)算法 307
12.3.4 一致性Hash負載均衡算法 308
第13章 分布式系統(tǒng)高可用策略 310
13.1 分布式系統(tǒng)高可用 311
13.2 Hystrix 317
13.3 Resilience4j 320
13.4 Sentinel 324
第14章 服務可觀測性 330
14.1 服務可觀測性簡介 331
14.2 日志記錄 333
14.3 聚合度量 335
14.4 鏈路追蹤 337

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號