注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)Istio權(quán)威指南:云原生服務(wù)網(wǎng)格Istio架構(gòu)與源碼(下)

Istio權(quán)威指南:云原生服務(wù)網(wǎng)格Istio架構(gòu)與源碼(下)

Istio權(quán)威指南:云原生服務(wù)網(wǎng)格Istio架構(gòu)與源碼(下)

定 價:¥128.00

作 者: 張超盟 等
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787121453052 出版時間: 2023-04-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書是《Istio權(quán)威指南》的下冊,重點講解Istio的架構(gòu)與源碼,分為架構(gòu)篇與源碼篇。 架構(gòu)篇從架構(gòu)的視角分別介紹Istio各組件的設(shè)計思想、數(shù)據(jù)模型和核心工作流程。在Istio 1.16中,Istiod以原有的Pilot為基礎(chǔ)框架構(gòu)建了包含Pilot、Citadel、Galley等組件的統(tǒng)一控制面。本書第15、16、17章分別介紹以上三個組件各自的架構(gòu)、模型和流程機(jī)制;第18、19、20章依次講解數(shù)據(jù)面Pilot-agent、Envoy和Istio-proxy的架構(gòu)和流程,包括三者的結(jié)合關(guān)系,配合Istio控制面組件實現(xiàn)流量管理功能,特別是Envoy的架構(gòu)、模型和關(guān)鍵流程。源碼篇包括第21~26章,與架構(gòu)篇的6章對應(yīng),分別介紹Istio管理面組件Pilot、Citadel、Galley與數(shù)據(jù)面Pilot-agent、Envoy、Istio-proxy的主要代碼結(jié)構(gòu)、代碼流程及關(guān)鍵代碼片段。本篇配合架構(gòu)篇中每個組件的架構(gòu)和機(jī)制,對Istio重要組件的實現(xiàn)進(jìn)行了更詳細(xì)的講解和剖析,為讀者深入研讀Istio相關(guān)代碼,以及在生產(chǎn)環(huán)境下進(jìn)行相應(yīng)代碼的調(diào)試和修改提供指導(dǎo)。 本書適合入門級讀者從零開始了解Istio的架構(gòu),也適合有一定基礎(chǔ)的讀者深入研究Istio的源碼。

作者簡介

  ——張超盟華為云應(yīng)用服務(wù)網(wǎng)格架構(gòu)師,擁有15年以上的開發(fā)經(jīng)驗,先后負(fù)責(zé)過華為云容器應(yīng)用運維、微服務(wù)平臺、云服務(wù)目錄、云服務(wù)可靠性、服務(wù)網(wǎng)格等云原生產(chǎn)品的架構(gòu)設(shè)計與開發(fā)工作,主導(dǎo)過多個重大項目的云原生和微服務(wù)化生產(chǎn)落地。在服務(wù)網(wǎng)格、Kubernetes容器服務(wù)、微服務(wù)架構(gòu)、應(yīng)用性能管理、大數(shù)據(jù)、DevOps工具等方面有深入的研究與實踐。Istio社區(qū)成員,KubeCon、IstioCon及ServiceMeshCon等會議的演講者,技術(shù)圖書作者。早期曾在中鐵一局從事路橋建設(shè)工作。 ——徐中虎華為云云原生團(tuán)隊核心成員,開源技術(shù)專家,服務(wù)網(wǎng)格Istio核心維護(hù)者,Istio社區(qū)指導(dǎo)委員會成員,Kubernetes項目核心貢獻(xiàn)者,批量計算項目Volcano的核心維護(hù)者,擁有豐富的開源工作經(jīng)驗。主要研究方向有微服務(wù)架構(gòu)、服務(wù)網(wǎng)格、容器編排平臺Kubernetes和未來的分布式云原生架構(gòu)等。在分布式系統(tǒng)的性能優(yōu)化、高可靠和可擴(kuò)展方面研究深入、經(jīng)驗豐富。 ——張偉華為云服務(wù)網(wǎng)格數(shù)據(jù)面資深專家,擁有18年架構(gòu)設(shè)計與開發(fā)經(jīng)驗,先后就職于億陽信通、加拿大北電網(wǎng)絡(luò)(中國)、甲骨文、Polycom、阿里巴巴及華為等公司。作為核心開發(fā)人員開發(fā)過傳輸網(wǎng)管系統(tǒng)、Tuxedo交易中間件、ts-server多媒體轉(zhuǎn)碼服務(wù)、GTS高性能事務(wù)云服務(wù)、sc高性能注冊中心、ASM數(shù)據(jù)面等多個產(chǎn)品,現(xiàn)主要負(fù)責(zé)華為云ASM服務(wù)網(wǎng)格數(shù)據(jù)面代理產(chǎn)品的設(shè)計與開發(fā)工作。 ——冷雪西安電子科技大學(xué)杭州研究院菁英副教授,浙江大學(xué)工學(xué)博士。主要研究方向有云原生安全、性能優(yōu)化和智能運維等,致力于解決云網(wǎng)環(huán)境下的關(guān)鍵問題。曾參與并主持多項科研項目,在國際會議和期刊上發(fā)表多篇論文并獲得多項授權(quán)專利。 /華為云云原生團(tuán)隊/華為云云原生團(tuán)隊創(chuàng)建于2013年,是國內(nèi)較早從事云原生研究的團(tuán)隊之一,也是CNCF的初創(chuàng)成員和白金會員。華為云在容器、服務(wù)網(wǎng)格、微服務(wù)等云原生技術(shù)領(lǐng)域都有著深厚的沉淀,擁有10多名CNCF項目維護(hù)者,對Kubernetes、Istio等核心項目的貢獻(xiàn)一直位居全球前列,并向CNCF捐獻(xiàn)了KubeEdge、Volcano、Karmada等知名項目?;贑NCF的開源生態(tài),華為云還打造了云容器引擎、云容器實例、應(yīng)用服務(wù)網(wǎng)格等一系列優(yōu)質(zhì)的商業(yè)化云原生服務(wù)。為進(jìn)一步推廣云原生技術(shù),加速云原生在行業(yè)中落地,華為云聯(lián)合CNCF、中國信通院及業(yè)界云原生技術(shù)精英們成立了全球云原生交流平臺——創(chuàng)原會。 /創(chuàng)原會/創(chuàng)原會是CNCF、中國信通院、華為云及業(yè)界云原生技術(shù)精英們聯(lián)合成立的全球云原生交流平臺,旨在通過研究前沿云原生技術(shù)及共享產(chǎn)業(yè)落地實踐,探索云原生與業(yè)務(wù)融合的無限可能。自2020年成立至今,創(chuàng)原會已在中國、東南亞、拉美、歐洲陸續(xù)成立分會并舉辦活動50余場,為全球技術(shù)精英們提供了一個優(yōu)質(zhì)、高端、開放的交流平臺,并吸納近300位CTO、技術(shù)總監(jiān)成為會員,極大地促進(jìn)了云原生在全球各行業(yè)中的普及和落地。

圖書目錄

架 構(gòu) 篇
 
第15章  Pilot的架構(gòu)     2
15.1  Pilot的基本架構(gòu)    2
15.1.1  Istio的服務(wù)模型  4
15.1.2  xDS協(xié)議      6
15.2  Pilot的原理   12
15.2.1  xDS服務(wù)器  13
15.2.2  服務(wù)發(fā)現(xiàn)     24
15.2.3  配置規(guī)則發(fā)現(xiàn)      29
15.2.4  xDS的生成和分發(fā)        35
15.3  安全插件        42
15.3.1  認(rèn)證插件     43
15.3.2  授權(quán)插件     46
15.4  Pilot的關(guān)鍵設(shè)計    48
15.4.1  三級緩存模型      48
15.4.2  去抖動分發(fā) 50
15.4.3  防過度分發(fā) 51
15.4.4  增量EDS      51
15.4.5  資源隔離     53
15.4.6  自動管理虛擬機(jī)工作負(fù)載   54
15.5  本章小結(jié)        55
 
第16章  Citadel的架構(gòu) 56
16.1  Istio的證書和身份管理          56
16.2  Citadel的基本架構(gòu)         59
16.3  Citadel的核心原理         60
16.3.1  核心組件的初始化       61
16.3.2  CA服務(wù)器    62
16.3.3  證書簽發(fā)     63
16.3.4  證書輪轉(zhuǎn)器 65
16.4  本章小結(jié)        67
 
第17章  Galley的架構(gòu)  68
17.1  簡化的Galley          68
17.2  Galley的整體架構(gòu) 69
17.2.1  早期的MCP          70
17.2.2  基于xDS的MCP 72
17.3  Galley的核心工作原理  72
17.3.1  啟動初始化 72
17.3.2  API校驗       75
17.3.3  對API配置的管理       78
17.4  本章小結(jié)        79
 
第18章  Pilot-agent的架構(gòu)   80
18.1  Pilot-agent的用途 81
18.2  Pilot-agent的核心架構(gòu)  81
18.3  Pilot-agent的原理 83
18.3.1  Envoy的啟動       84
18.3.2  優(yōu)雅退出     85
18.3.3  xDS代理      87
18.3.4  證書管理     90
18.3.5  DNS服務(wù)器 91
18.3.6  應(yīng)用健康檢查      92
18.4  本章小結(jié)        93
 
第19章  Envoy的架構(gòu)  94
19.1  Envoy的整體架構(gòu) 95
19.1.1  Envoy的內(nèi)部架構(gòu)        96
19.1.2  Envoy的通信架構(gòu)        100
19.2  Envoy的內(nèi)存管理 110
19.2.1  堆內(nèi)存管理 110
19.2.2  Buffer管理  111
19.3  Envoy過濾器的架構(gòu)      114
19.3.1  過濾器的注冊      115
19.3.2  過濾器的回調(diào)方法       117
19.3.3  過濾器的掛起與恢復(fù)  118
19.4  Envoy的初始化流程      119
19.4.1  靜態(tài)配置     120
19.4.2  動態(tài)配置     121
19.4.3  Envoy的創(chuàng)建及初始化流程         124
19.4.4  Envoy的運行流程        128
19.4.5  目標(biāo)服務(wù)Cluster的創(chuàng)建      129
19.4.6  監(jiān)聽器的創(chuàng)建      131
19.5  Envoy的網(wǎng)絡(luò)及線程模型       133
19.5.1  Server主線程      134
19.5.2  Accesslog線程     136
19.5.3  工作線程     138
19.5.4  GuardDog線程    139
19.5.5  線程間的同步      139
19.6  Envoy的熱升級流程      141
19.7  Envoy的新連接處理流程       144
19.8  Envoy的請求及響應(yīng)數(shù)據(jù)處理流程        145
19.8.1  對下游請求數(shù)據(jù)的接收及處理    146
19.8.2  對上游請求數(shù)據(jù)的處理及發(fā)送    149
19.8.3  對上游響應(yīng)數(shù)據(jù)的接收及發(fā)送    151
19.9  xDS的原理及工作流程  153
19.10  安全證書處理      155
19.11  WASM虛擬機(jī)的原理  158
19.12  本章小結(jié)      161
 
第20章  Istio-proxy的架構(gòu)   162
20.1  Istio-proxy的基本架構(gòu)  162
20.2  Istio-proxy的原理  163
20.2.1  Istio-proxy的整體工作流程          163
20.2.2  L4 metadata_exchange的工作流程     164
20.2.3  L7 metadata_exchange擴(kuò)展的工作流程      169
20.2.4  Stats的工作流程          170
20.3  本章小結(jié)        173
 
源 碼 篇
 
第21章  Pilot源碼解析          175
21.1  啟動流程        175
21.2  關(guān)鍵代碼解析         177
21.2.1  ConfigController  178
21.2.2  ServiceController 186
21.2.3  xDS的異步分發(fā)   194
21.2.4  對xDS更新的預(yù)處理  202
21.2.5  xDS配置的生成及分發(fā)        208
21.3  本章小結(jié)        211
 
第22章  Citadel源碼解析      212
22.1  啟動流程        212
22.1.1  Istio CA的創(chuàng)建    213
22.1.2  SDS服務(wù)器的初始化   214
22.1.3  Istio CA的啟動    215
22.2  關(guān)鍵代碼解析         216
22.2.1  CA 服務(wù)器的核心原理         216
22.2.2  證書簽發(fā)實體IstioCA  218
22.2.3  CredentialsController的創(chuàng)建和核心原理    222
22.3  本章小結(jié)        224
 
第23章  Galley源碼解析       225
23.1  啟動流程        225
23.1.1  Galley WebhookServer的初始化         226
23.1.2  ValidatingWebhookConfiguration控制器的初始化      226
23.2  關(guān)鍵代碼解析         228
23.2.1  配置校驗     228
23.2.2  Validating控制器的實現(xiàn)      232
23.3  本章小結(jié)        235
 
第24章  Pilot-agent源碼解析        236
24.1  整體架構(gòu)        236
24.2  啟動及監(jiān)控    238
24.3  xDS轉(zhuǎn)發(fā)服務(wù)          243
24.4  SDS證書服務(wù)          248
24.5  健康檢查        255
24.5.1  應(yīng)用容器的LivenessProbe探測 255
24.5.2  應(yīng)用容器的ReadinessProbe探測        257
24.5.3  Envoy進(jìn)程的ReadinessProbe探測     258
24.5.4  Pilot-agent進(jìn)程的LivenessProbe探測        262
24.6  本章小結(jié)        265
 
第25章  Envoy源碼解析       266
25.1  Envoy的初始化      266
25.1.1  啟動參數(shù)bootstrap的初始化      267
25.1.2  初始化觀測指標(biāo)  268
25.1.3  過濾器注冊及信息補(bǔ)齊       269
25.1.4  Envoy自身信息解析    273
25.1.5  Admin API的初始化    273
25.1.6  Worker的初始化         276
25.1.7  Dispatcher內(nèi)存延遲析構(gòu)    279
25.1.8  CDS的初始化       283
25.1.9  LDS的初始化       286
25.1.10  初始化觀測管理系統(tǒng)         287
25.1.11  啟動Stats定期刷新   292
25.1.12  GuardDog的初始化   292
25.2  熱重啟的流程         296
25.3  Envoy的運行和連接創(chuàng)建       298
25.3.1  啟動Worker工作線程         299
25.3.2  監(jiān)聽器的加載      301
25.3.3  接收連接     304
25.4  Envoy接收及處理數(shù)據(jù)  309
25.4.1  讀取數(shù)據(jù)     310
25.4.2  接收數(shù)據(jù)     311
25.4.3  處理數(shù)據(jù)     312
25.5  Envoy發(fā)送數(shù)據(jù)到服務(wù)端       317
25.5.1  路由匹配     317
25.5.2  獲取連接池 320
25.5.3  創(chuàng)建上游請求      325
25.6  Envoy收到服務(wù)端響應(yīng)  333
25.6.1  接收響應(yīng)數(shù)據(jù)      333
25.6.2  發(fā)送響應(yīng)數(shù)據(jù)      335
25.7  xDS流程解析          337
25.7.1  xDS公共訂閱       337
25.7.2  xDS推送      342
25.7.3  LDS更新      343
25.7.4  SDS訂閱      350
25.8  遙測元數(shù)據(jù)存儲    352
25.8.1  創(chuàng)建遙測元數(shù)據(jù)  352
25.8.2  收集Stats觀測數(shù)據(jù)     360
25.8.3  定義靜態(tài)指標(biāo)      361
25.9  WASM擴(kuò)展   363
25.9.1  WASM虛擬機(jī)的啟動  363
25.9.2  WASM虛擬機(jī)的運行  374
25.10  本章小結(jié)      387
 
第26章  Istio-proxy源碼解析        388
26.1  metadata_exchange        388
26.2  遙測數(shù)據(jù)Stats的上報   395
26.3  源碼地址        406
26.4  本章小結(jié)        408
 
附錄A  源碼倉庫介紹    409
附錄B  實踐問題總結(jié)    416
附錄C  服務(wù)網(wǎng)格術(shù)語表         432
 
結(jié)  語      447

本目錄推薦

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