华为云原生团队600多页的Istio实战精华总结,云原生服务网格Istio:原理、实践、架构与源码解析的电子书。

图书介绍

《云原生服务网格Istio:原理、实践、架构与源码解析》分为原理篇、实践篇、架构篇和源码篇,由浅入深地将Istio项目庖丁解牛并呈现给读者。

原理篇介绍了服务网格技术与Istio项目的技术背景、设计理念与功能原理,能够帮助读者了解服务网格这一云原生领域的标志性技术,掌握Istio流量治理、策略与遥测和安全功能的使用方法。

实践篇从零开始搭建Istio运行环境并完成一个真实应用的开发、交付、上线监控与治理的完整过程,能够帮助读者熟悉Istio的功能并加深对Istio的理解。

架构篇剖析了Istio项目的三大核心子项目Pilot、Mixer、Citadel的详细架构,帮助读者熟悉Envoy、Galley、Pilot-agent等相关项目,并挖掘Istio代码背后的设计与实现思想。

源码篇对Istio各个项目的代码结构、文件组织、核心流程、主要数据结构及各主要代码片段等关键内容都进行了详细介绍,读者只需具备一定的Go语言基础,便可快速掌握Istio各部分的实现原理,并根据自己的兴趣深入了解某一关键机制的完整实现。

目录大全

原 理 篇

第1章你好,Istio 2

1.1Istio是什么 2

1.2通过示例看看Istio能做什么 4

1.3Istio与服务治理 6

1.3.1关于微服务 6

1.3.2服务治理的三种形态 8

1.3.3Istio不只解决了微服务问题 10

1.4Istio与服务网格 11

1.4.1时代选择服务网格 11

1.4.2服务网格选择Istio 14

1.5Istio与Kubernetes 15

1.5.1Istio,Kubernetes的好帮手 16

1.5.2Kubernetes,Istio的好基座 18

1.6本章总结 20

第2章Istio架构概述 21

2.1Istio的工作机制 21

2.2Istio的服务模型 23

2.2.1Istio的服务 24

2.2.2Istio的服务版本 26

2.2.3Istio的服务实例 28

2.3Istio的主要组件 30

2.3.1istio-pilot 30

2.3.2istio-telemetry 32

2.3.3istio-policy 33

2.3.4istio-citadel 34

2.3.5istio-galley 34

2.3.6istio-sidecar-injector 35

2.3.7istio-proxy 35

2.3.8istio-ingressgateway 36

2.3.9其他组件 37

2.4本章总结 37

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

3.1Istio流量治理的原理 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.2Istio路由规则配置:VirtualService 59

3.2.1路由规则配置示例 59

3.2.2路由规则定义 60

3.2.3HTTP路由(HTTPRoute) 63

3.2.4TLS路由(TLSRoute) 78

3.2.5TCP路由(TCPRoute) 81

3.2.6三种协议路由规则的对比 83

3.2.7VirtualService的典型应用 84

3.3Istio目标规则配置:DestinationRule 89

3.3.1DestinationRule配置示例 90

3.3.2DestinationRule规则定义 90

3.3.3DestinationRule的典型应用 103

3.4Istio服务网关配置:Gateway 107

3.4.1Gateway配置示例 108

3.4.2Gateway规则定义 109

3.4.3Gateway的典型应用 112

3.5Istio外部服务配置:ServiceEntry 120

3.5.1ServiceEntry配置示例 120

3.5.2ServiceEntry规则的定义和用法 121

3.5.3ServiceEntry的典型应用 123

3.6Istio代理规则配置:Sidecar 126

3.6.1Sidecar配置示例 126

3.6.2Sidecar规则定义 126

3.7本章总结 129

第4章可扩展的策略和遥测 131

4.1Istio策略和遥测的原理 131

4.1.1应用场景 131

4.1.2工作原理 136

4.1.3属性 137

4.1.4Mixer的配置模型 140

4.2Istio遥测适配器配置 147

4.2.1Prometheus适配器 148

4.2.2Fluentd适配器 155

4.2.3StatsD适配器 159

4.2.4Stdio适配器 161

4.2.5Zipkin适配器 163

4.2.6厂商适配器 168

4.3Istio策略适配器配置 169

4.3.1List适配器 169

4.3.2Denier适配器 171

4.3.3Memory Quota适配器 172

4.3.4Redis Quota适配器 175

4.4Kubernetes Env适配器配置 178

4.5本章总结 181

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

5.1Istio服务安全的原理 182

5.1.1认证 185

5.1.2授权 189

5.1.3密钥证书管理 192

5.2Istio服务认证配置 193

5.2.1认证策略配置示例 193

5.2.2认证策略的定义 194

5.2.3TLS访问配置 196

5.2.4认证策略的典型应用 200

5.3Istio服务授权配置 202

5.3.1授权启用配置 202

5.3.2授权策略配置 203

5.3.3授权策略的典型应用 207

5.4本章总结 210

第6章透明的Sidecar机制 211

6.1Sidecar注入 211

6.1.1Sidecar Injector自动注入的原理 214

6.1.2Sidecar注入的实现 216

6.2Sidecar流量拦截 219

6.2.1iptables的基本原理 220

6.2.2iptables的规则设置 223

6.2.3流量拦截原理 224

6.3本章总结 228

第7章多集群服务治理 230

7.1Istio多集群服务治理 230

7.1.1Istio多集群的相关概念 230

7.1.2Istio多集群服务治理现状 231

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

7.2.1服务DNS解析的原理 233

7.2.2Gateway连接的原理 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.1Weather Forecast简介 257

8.4.2Weather Forecast部署 258

8.5本章总结 259

第9章流量监控 260

第10章灰度发布 278

第11章流量治理 296

第12章服务保护 323

第13章多集群管理 342

13.1实战目标 342

13.2实战演练 342

13.3本章总结 350

架 构 篇

第14章司令官Pilot 352

第15章守护神Mixer 397

第16章安全碉堡Citadel 439

第17章高性能代理Envoy 450

第18章代理守护进程Pilot-agent 460

第19章配置中心Galley 469

源 码 篇

第20章Pilot源码解析 484

第21章Mixer源码解析 515

第22章Citadel源码解析 544

第23章Envoy源码解析 559

第24章Galley源码解析 574

结语 590

附录A源码仓库介绍 592

附录B实践经验和总结 598

60多本经典编程书籍,关注WX公众号领取回复:书籍

本书直接下载链接:云原生服务网格Istio:原理、实践、架构与源码解析

云原生服务网格Istio:原理、实践、架构与源码解析的更多相关文章

  1. Istio技术与实践02:源码解析之Istio on Kubernetes 统一服务发现

    前言 文章Istio技术与实践01: 源码解析之Pilot多云平台服务发现机制结合Pilot的代码实现介绍了Istio的抽象服务模型和基于该模型的数据结构定义,了解到Istio上只是定义的服务发现的接 ...

  2. Android 热修复Nuwa的原理及Gradle插件源码解析

    现在,热修复的具体实现方案开源的也有很多,原理也大同小异,本篇文章以Nuwa为例,深入剖析.  Nuwa的github地址 https://github.com/jasonross/Nuwa 以及用于 ...

  3. 神经网络中 BP 算法的原理与 Python 实现源码解析

    最近这段时间系统性的学习了 BP 算法后写下了这篇学习笔记,因为能力有限,若有明显错误,还请指正. 什么是梯度下降和链式求导法则 假设我们有一个函数 J(w),如下图所示. 梯度下降示意图 现在,我们 ...

  4. vue系列---响应式原理实现及Observer源码解析(一)

    _ 阅读目录 一. 什么是响应式? 二:如何侦测数据的变化? 2.1 Object.defineProperty() 侦测对象属性值变化 2.2 如何侦测数组的索引值的变化 2.3 如何监听数组内容的 ...

  5. 精彩分享 | 欢乐游戏 Istio 云原生服务网格三年实践思考

    作者 吴连火,腾讯游戏专家开发工程师,负责欢乐游戏大规模分布式服务器架构.有十余年微服务架构经验,擅长分布式系统领域,有丰富的高性能高可用实践经验,目前正带领团队完成云原生技术栈的全面转型. 导语 欢 ...

  6. JAVA SPI(Service Provider Interface)原理、设计及源码解析(其一)

    背景 团队内部轮流技术分享,其他人都是分享源码,我每次都是设计和架构,感觉自己太特立独行.这次我要合群点,分享点源码. 概念 Service Provider Interface:服务提供方接口.是一 ...

  7. Istio技术与实践01: 源码解析之Pilot多云平台服务发现机制

    服务模型 首先,Istio作为一个(微)服务治理的平台,和其他的微服务模型一样也提供了Service,ServiceInstance这样抽象服务模型.如Service的定义中所表达的,一个服务有一个全 ...

  8. [源码解析] 消息队列 Kombu 之 基本架构

    [源码解析] 消息队列 Kombu 之 基本架构 目录 [源码解析] 消息队列 Kombu 之 基本架构 0x00 摘要 0x01 AMQP 1.1 基本概念 1.2 工作过程 0x02 Poll系列 ...

  9. [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构

    [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 配置 ...

  10. [源码解析] 并行分布式框架 Celery 之架构 (2)

    [源码解析] 并行分布式框架 Celery 之架构 (2) 目录 [源码解析] 并行分布式框架 Celery 之架构 (2) 0x00 摘要 0x01 上文回顾 0x02 worker的思考 2.1 ...

随机推荐

  1. springboot启动流程 (3) 自动装配

    在SpringBoot中,EnableAutoConfiguration注解用于开启自动装配功能. 本文将详细分析该注解的工作流程. EnableAutoConfiguration注解 启用Sprin ...

  2. JMS微服务开发示例(九)相同的微服务,按用户所在城市来分配微服务器

    虽然,默认情况下,多个相同的微服务,网关是自动根据微服务的压力情况,把用户请求分配到压力较轻的微服务器上. 但是,在某些业务情景下,我们可能希望人为去控制微服务的请求分配. 举个例子,我在北京.上海. ...

  3. 【Nginx系列】(一)Nginx基础概念

    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 文章更新计划 系列文章地址 Nginx的三个主要应用场景 静态 ...

  4. 【ES系列】(一)简介与安装

    首发博客地址 首发博客地址 系列文章地址 教学视频 为什么要学习 ES? 强大的全文搜索和检索功能:Elasticsearch 是一个开源的分布式搜索和分析引擎,使用倒排索引和分布式计算等技术,提供了 ...

  5. [转帖]NET Framework 版本和依赖关系

    https://learn.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-and-dependencies 每个版本的 . ...

  6. [转帖]Nginx应用调优案例

    https://bbs.huaweicloud.com/blogs/146367 [摘要] 1 问题背景nginx的应用程序移植到TaiShan服务器上,发现业务吞吐量没有达到硬件预期,需要做相应调优 ...

  7. 【转帖】淫技巧 | 如何查看已连接的wifi密码

    主题使用方法:https://github.com/xitu/juejin-markdown-themes theme: juejin highlight: github 一.引言 在实际工作中,常常 ...

  8. [转帖]find排除一个或多个目录的方法

    find排除一个或多个目录的方法 百度就是垃圾,搜索结果千篇一律,错抄错.google一下,总结find排除某个目录的方法: How to exclude a directory in find . ...

  9. [转帖]sudo 命令_su、sudo、sudo su、sudo -i的用法和区别

    sudo 命令 1.sudo 简介 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户 ...

  10. [转帖]linux中top命令显示不全怎么解决

    https://www.yisu.com/zixun/697775.html 这篇"linux中top命令显示不全怎么解决"文章的知识点大部分人都不太理解,所以小编给大家总结了以下 ...