TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
雲原生服務網格Istio:原理、實踐、架構與源碼解析(簡體書)
滿額折

雲原生服務網格Istio:原理、實踐、架構與源碼解析(簡體書)

人民幣定價:139 元
定  價:NT$ 834 元
優惠價:87726
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:21 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書分為原理篇、實踐篇、架構篇和源碼篇,由淺入深地將Istio項目庖丁解牛並呈現給讀者。原理篇介紹了服務網格技術與Istio項目的技術背景、設計理念與功能原理,能夠幫助讀者瞭解服務網格這一雲原生領域的標誌性技術,掌握Istio流量治理、策略與遙測和安全功能的使用方法。實踐篇從零開始搭建Istio運行環境並完成一個真實應用的開發、交付、上線監控與治理的完整過程,能夠幫助讀者熟悉Istio的功能並加深對Istio的理解。架構篇剖析了Istio項目的三大核心子項目Pilot、Mixer、Citadel的詳細架構,幫助讀者熟悉Envoy、Galley、Pilot-agent等相關項目,並挖掘Istio代碼背後的設計與實現思想。源碼篇對Istio各個項目的代碼結構、文件組織、核心流程、主要數據結構及各主要代碼片段等關鍵內容都進行了詳細介紹,讀者只需具備一定的Go語言基礎,便可快速掌握Istio各部分的實現原理,並根據自己的興趣深入瞭解某一關鍵機制的完整實現。本書提供源碼下載,參見http://github.com/cloudnativebooks/cloud-native-istio。無論是對於剛入門Istio的讀者,還是對於已經在產品中使用Istio的讀者,本書都極具參考價值。

作者簡介

張超盟,
華為雲應用服務網格首席架構師,擁有10年以上軟件研發經驗,先後負責華為雲PaaS容器應用運維、微服務平臺、雲服務目錄、服務網格等產品架構設計與開發工作,在容器服務、微服務架構、大數據、應用性能管理、數據庫中間件及DevOps工具等多個領域有深入的研究與實踐。開源愛好者,Istio社區成員。曾就職於Trend Micro和中鐵一局。

章鑫,
華為雲應用服務網格首席系統工程師, 擁有10年以上IT從業經驗,先後參與華為雲PaaS運維平臺、容器自動化運維工 具、服務網格等產品設計與開發,主導了多個服務網格項目的落地與實施工作。Istio社區成員,對於Pilot、Mixer等多個組 件 的 調 優 有 豐 富 的 經 驗。曾 在VIA-Telecom和Nokia擔任研發專家。

徐中虎,
華為雲原生開源團隊核心成員,Istio社區Approver,Kubernetes項目核心貢獻者,現 聚 焦 於Cloud Native、Docker、Kubernetes、Service Mesh等領域,對分布式系統性能優化、高可靠、可擴展等有深入的研究。曾就職于網易、Nokia。

徐飛,
華為雲原生開源團隊核心成員,Istio社區Approver,Kubernetes、Federation、Kubeflow、Virtual-Kubelet社區項目成員及核心貢獻者,浙江大學碩士。從2015年開始參與容器平臺的設計與開發,並參與上游社區的貢獻。

華為雲原生團隊,
華為雲原生團隊創建於2013年,是國內較早參與雲原生這一技術領域的團隊之一。作為CNCF(雲原生計算基金會)的初創成員和白金會員,華為在容器、服務網格、微服務等雲原生技術領域都有著深厚的造詣,擁有10多名CNCF開源項目維護者,在Kubernetes、Istio等核心開源項目上的貢獻位居全球前列。華為雲也提供了基於CNCF開源項目所打造的商業化雲原生系列產品,包括雲容器引擎、雲容器實例、應用服務網格、容器交付流水線等。
華為雲原生團隊致力於雲原生技術在國內的普及與推廣,通過“容器魔方”官方微信公眾號,以及與CNCF聯合打造的Cloud Native Days China(CNDC)Meetup、Cloud Native Lives雲原生技術在線直播、線下CKA培訓等活動,推動了國內雲原生技術的學習與交流熱潮。此次打造的華為雲原生技術叢書,內容涵蓋以CNCF項目為主的多個雲原生技術熱點,可為廣大雲原生技術愛好者提供詳盡、專業、及時的原理講解與技術剖析。

目次

原 理 篇

第1章 你好,Istio 2

1.1 Istio是什麼 2

1.2 通過示例看看Istio能做什麼 4

1.3 Istio與服務治理 6

1.3.1 關於微服務 6

1.3.2 服務治理的三種形態 8

1.3.3 Istio不只解決了微服務問題 10

1.4 Istio與服務網格 11

1.4.1 時代選擇服務網格 11

1.4.2 服務網格選擇Istio 14

1.5 Istio與Kubernetes 15

1.5.1 Istio,Kubernetes的好幫手 16

1.5.2 Kubernetes,Istio的好基座 18

1.6 本章總結 20

第2章 Istio架構概述 21

2.1 Istio的工作機制 21

2.2 Istio的服務模型 23

2.2.1 Istio的服務 24

2.2.2 Istio的服務版本 26

2.2.3 Istio的服務實例 28

2.3 Istio的主要組件 30

2.3.1 istio-pilot 30

2.3.2 istio-telemetry 32

2.3.3 istio-policy 33

2.3.4 istio-citadel 34

2.3.5 istio-galley 34

2.3.6 istio-sidecar-injector 35

2.3.7 istio-proxy 35

2.3.8 istio-ingressgateway 36

2.3.9 其他組件 37

2.4 本章總結 37

第3章 非侵入的流量治理 38

3.1 Istio流量治理的原理 38

3.1.1 負載均衡 39

3.1.2 服務熔斷 41

3.1.3 故障注入 48

3.1.4 灰度發佈 49

3.1.5 服務訪問入口 54

3.1.6 外部接入服務治理 56

3.2 Istio路由規則配置:VirtualService 59

3.2.1 路由規則配置示例 59

3.2.2 路由規則定義 60

3.2.3 HTTP路由(HTTPRoute) 63

3.2.4 TLS路由(TLSRoute) 78

3.2.5 TCP路由(TCPRoute) 81

3.2.6 三種協議路由規則的對比 83

3.2.7 VirtualService的典型應用 84

3.3 Istio目標規則配置:DestinationRule 89

3.3.1 DestinationRule配置示例 90

3.3.2 DestinationRule規則定義 90

3.3.3 DestinationRule的典型應用 103

3.4 Istio服務網關配置:Gateway 107

3.4.1 Gateway配置示例 108

3.4.2 Gateway規則定義 109

3.4.3 Gateway的典型應用 112

3.5 Istio外部服務配置:ServiceEntry 120

3.5.1 ServiceEntry配置示例 120

3.5.2 ServiceEntry規則的定義和用法 121

3.5.3 ServiceEntry的典型應用 123

3.6 Istio代理規則配置:Sidecar 126

3.6.1 Sidecar配置示例 126

3.6.2 Sidecar規則定義 126

3.7 本章總結 129

第4章 可擴展的策略和遙測 131

4.1 Istio策略和遙測的原理 131

4.1.1 應用場景 131

4.1.2 工作原理 136

4.1.3 屬性 137

4.1.4 Mixer的配置模型 140

4.2 Istio遙測適配器配置 147

4.2.1 Prometheus適配器 148

4.2.2 Fluentd適配器 155

4.2.3 StatsD適配器 159

4.2.4 Stdio適配器 161

4.2.5 Zipkin適配器 163

4.2.6 廠商適配器 168

4.3 Istio策略適配器配置 169

4.3.1 List適配器 169

4.3.2 Denier適配器 171

4.3.3 Memory Quota適配器 172

4.3.4 Redis Quota適配器 175

4.4 Kubernetes Env適配器配置 178

4.5 本章總結 181

第5章 可插拔的服務安全 182

5.1 Istio服務安全的原理 182

5.1.1 認證 185

5.1.2 授權 189

5.1.3 密鑰證書管理 192

5.2 Istio服務認證配置 193

5.2.1 認證策略配置示例 193

5.2.2 認證策略的定義 194

5.2.3 TLS訪問配置 196

5.2.4 認證策略的典型應用 200

5.3 Istio服務授權配置 202

5.3.1 授權啟用配置 202

5.3.2 授權策略配置 203

5.3.3 授權策略的典型應用 207

5.4 本章總結 210

第6章 透明的Sidecar機制 211

6.1 Sidecar注入 211

6.1.1 Sidecar Injector自動注入的原理 214

6.1.2 Sidecar注入的實現 216

6.2 Sidecar流量攔截 219

6.2.1 iptables的基本原理 220

6.2.2 iptables的規則設置 223

6.2.3 流量攔截原理 224

6.3 本章總結 228

第7章 多集群服務治理 230

7.1 Istio多集群服務治理 230

7.1.1 Istio多集群的相關概念 230

7.1.2 Istio多集群服務治理現狀 231

7.2 多集群模式1:多控制面 232

7.2.1 服務DNS解析的原理 233

7.2.2 Gateway連接的原理 237

7.3 多集群模式2:VPN直連單控制面 238

7.4 多集群模式3:集群感知服務路由單控制面 240

7.5 本章總結 246



實 踐 篇

第8章 環境準備 248

8.1 在本地搭建Istio環境 248

8.1.1 安裝Kubernetes集群 248

8.1.2 安裝Helm 249

8.1.3 安裝Istio 250

8.2 在公有雲上使用Istio 253

8.3 嘗鮮Istio命令行 255

8.4 應用示例 257

8.4.1 Weather Forecast簡介 257

8.4.2 Weather Forecast部署 258

8.5 本章總結 259

第9章 流量監控 260

9.1 預先準備:安裝插件 260

9.2 調用鏈跟蹤 261

9.3 指標監控 265

9.3.1 Prometheus 265

9.3.2 Grafana 268

9.4 服務網格監控 273

9.5 本章總結 277

第10章 灰度發佈 278

10.1 預先準備:將所有流量都路由到各個服務的v1版本 278

10.2 基於流量比例的路由 279

10.3 基於請求內容的路由 283

10.4 組合條件路由 284

10.5 多服務灰度發佈 286

10.6 TCP服務灰度發佈 288

10.7 自動化灰度發佈 290

10.7.1 正常發佈 291

10.7.2 異常發佈 294

第11章 流量治理 296

11.1 流量負載均衡 296

11.1.1 ROUND_ROBIN模式 296

11.1.2 RANDOM模式 298

11.2 會話保持 299

11.2.1 實戰目標 300

11.2.2 實戰演練 300

11.3 故障注入 301

11.3.1 延遲注入 301

11.3.2 中斷注入 303

11.4 超時 304

11.5 重試 306

11.6 HTTP重定向 308

11.7 HTTP重寫 309

11.8 熔斷 310

11.9 限流 313

11.9.1 普通方式 314

11.9.2 條件方式 315

11.10 服務隔離 317

11.10.1 實戰目標 317

11.10.2 實戰演練 317

11.11 影子測試 319

11.12 本章總結 322

第12章 服務保護 323

12.1 網關加密 323

12.1.1 單向TLS網關 323

12.1.2 雙向TLS網關 326

12.1.3 用SDS加密網關 328

12.2 訪問控制 331

12.2.1 黑名單 331

12.2.2 白名單 332

12.3 認證 334

12.3.1 實戰目標 334

12.3.2 實戰演練 334

12.4 授權 336

12.4.1 命名空間級別的訪問控制 336

12.4.2 服務級別的訪問控制 339

12.5 本章總結 341

第13章 多集群管理 342

13.1 實戰目標 342

13.2 實戰演練 342

13.3 本章總結 350



架 構 篇

第14章 司令官Pilot 352

14.1 Pilot的架構 352

14.1.1 Istio的服務模型 354

14.1.2 xDS協議 356

14.2 Pilot的工作流程 360

14.2.1 Pilot的啟動與初始化 361

14.2.2 服務發現 363

14.2.3 配置規則發現 368

14.2.4 Envoy的配置分發 376

14.3 Pilot的插件 383

14.3.1 安全插件 385

14.3.2 健康檢查插件 390

14.3.3 Mixer插件 391

14.4 Pilot的設計亮點 392

14.4.1 三級緩存優化 392

14.4.2 去抖動分發 393

14.4.3 增量EDS 394

14.4.4 資源隔離 395

14.5 本章總結 396

第15章 守護神Mixer 397

15.1 Mixer的整體架構 397

15.2 Mixer的服務模型 398

15.2.1 Template 399

15.2.2 Adapter 401

15.3 Mixer的工作流程 403

15.3.1 啟動初始化 403

15.3.2 用戶配置信息規則處理 409

15.3.3 訪問策略的執行 416

15.3.4 無侵入遙測 421

15.4 Mixer的設計亮點 423

15.5 如何開發Mixer Adapter 424

15.6 本章總結 438

第16章 安全碉堡Citadel 439

16.1 Citadel的架構 439

16.2 Citadel的工作流程 441

16.3 本章總結 449

第17章 高性能代理Envoy 450

17.1 Envoy的架構 450

17.2 Envoy的特性 451

17.3 Envoy的模塊結構 452

17.4 Envoy的線程模型 453

17.5 Envoy的內存管理 455

17.6 Envoy的流量控制 456

17.7 Envoy與Istio的配合 457

17.3 本章總結 459

第18章 代理守護進程Pilot-agent 460

18.1 為什麼需要Pilot-agent 461

18.2 Pilot-agent的工作流程 461

18.3 本章總結 468

第19章 配置中心Galley 469

19.1 Galley的架構 469

19.2 Galley的工作流程 471

19.3 本章總結 482



源 碼 篇

第20章 Pilot源碼解析 484

20.1 進程啟動流程 484

20.2 關鍵代碼分析 486

20.3 本章總結 514

第21章 Mixer源碼解析 515

21.1 進程啟動流程 515

21.2 關鍵代碼分析 5201

21.3 本章總結 543

第22章 Citadel源碼解析 544

22.1 進程啟動流程 544

22.2 關鍵代碼分析 548

22.3 本章總結 558

第23章 Envoy源碼解析 559

23.1 Envoy的初始化 559

23.2 Envoy的運行和建立新連接 564

23.3 Envoy對數據的讀取、接收及處理 567

23.4 Envoy發送數據到服務端 570

23.5 本章總結 573

第24章 Galley源碼解析 574

24.1 進程啟動流程 574

24.2 關鍵代碼分析 580

24.3 本章總結 589

結語 590

附錄A 源碼倉庫介紹 592

附錄B 實踐經驗和總結 598




**篇幅限制,完整目錄請見本書**

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 726
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區