转载

新书推荐 | Service Mesh微服务架构设计

新书推荐

Service Mesh微服务架构设计

点击上图了解及购买

从设计与工程化视角分析Service Mesh微服务架构与实现,穿插大量一线实践真知灼见。

编辑推荐

  1. 资深架构师撰写,从设计与工程化视角分析Service Mesh,穿插大量一线实践真知灼见 

  2. 涵盖微服务实施细则,Istio/Envoy的架构设计与实现,Service Mesh工程化设计思想与发展趋势等

内容简介

资深架构师撰写,从设计与工程化视角分析Service Mesh,穿插大量一线实践真知灼见,涵盖微服务实施细则、Istio/Envoy的架构设计与实现、Service Mesh工程化设计思想与发展趋势等。本书分为两篇,共计10章内容。

基础篇 (第1~3章),着重讲解微服务架构和治理,以及Service Mesh技术当前的现状。

本篇帮读者厘清微服务架构的实施前准备,实施风险与痛点/难点问题,并引出应对微服务通信与服务治理问题的方案——Service Mesh,阐述Service Mesh生态的各个方面,包括Service Mesh的价值与企业需求的内在动因。

架构篇 (第4~10章),深入剖析Service Mesh主流方案Istio/Envoy在架构设计层面的原理和实现,以及Service Mesh技术展望。其中第4~7章为重点章节,建议读者认真研读与实践。

第4章详细分析Envoy的整体架构,并就架构设计层面与Nginx进行全方位对比分析。

第5章分析Istio的整体架构以及各个组件的功能和设计。

第6~7章分别从控制流与数据流的角度,分析请求的处理策略与配置以及在整个Service Mesh中的流向和处理。

后续章节分别讨论Istio的服务治理(聚焦可观测性、链路治理),Service Mesh的架构思想的工程化应用,以及Service Mesh技术在云原生架构下的发展畅想。

作者简介

刘俊海好未来高级架构师,曾在滴滴、百度等知名互联网公司任职,超过8年C/C++开发和架构设计经验;精通服务框架和业务高可用技术,多年亿级流量环境下高并发和高可用实战经验,精通微服务架构和微服务基础设施,近期关注Service Mesh。

目录

前言

第一篇基础篇

第1章微服务架构  2

1.1为什么需要微服务  2

1.1.1传统单体服务的问题  2

1.1.2微服务的定义  3

1.1.3微服务与康威定律  3

1.1.4微服务的收益  4

1.2微服务架构的挑战  4

1.2.1服务拆分  4

1.2.2开发挑战  5

1.2.3测试挑战  5

1.2.4运维挑战  6

1.3微服务化的具体时机  6

1.4微服务化开展前的准备工作  8

1.4.1微服务开发框架  8

1.4.2微服务标准化  15

1.4.3持续集成与发布  17

1.5微服务实施  17

1.5.1微服务拆分  17

1.5.2微服务通信  19

1.5.3微服务稳定性保障  20

1.6本章小结  25

第2章微服务治理  26

2.1微服务治理基础  26

2.1.1服务治理由来  26

2.1.2服务治理的目标与愿景  27

2.1.3服务治理的工作范畴  28

2.1.4服务治理闭环体系  29

2.2正向服务治理  29

2.2.1效率治理  30

2.2.2稳定性治理  31

2.3效果治理  34

2.4可见可观测  35

2.4.1服务可见性  35

2.4.2变更可见性  36

2.4.3可观测性  36

2.5量化分析体系  41

2.5.1稳定性风险度量  41

2.5.2基于多维度监控的故障定位  42

2.5.3风险分析  43

2.6线上治理  43

2.6.1线上预案体系  43

2.6.2基于Metric的预案自动触发  44

2.6.3治理参数动态调整  44

2.7线下治理  47

2.7.1链路稳定性治理  47

2.7.2架构与资源治理  50

2.8服务治理演进  50

2.8.1远程Proxy方式  51

2.8.2基于智能客户端的服务框架  52

2.8.3本地Proxy  52

2.9理想的服务治理架构  53

2.10本章小结  54

第3章下一代微服务框架Service Mesh概要  55

3.1Service Mesh基础  55

3.1.1什么是Service Mesh  55

3.1.2Service Mesh的基本模式  56

3.2Service Mesh的发展历程  58

3.3Service Mesh项目Linkerd  60

3.3.1Linkerd演进  60

3.3.2Linkerd路由机制  62

3.3.3Linkerd 2.0核心架构  63

3.4Service Mesh项目Istio  64

3.4.1Envoy  64

3.4.2Istio  66

3.5Service Mesh其他解决方案  67

3.5.1国外其他Service Mesh项目  67

3.5.2Service Mesh在中国的发展  68

3.6Service Mesh云上产品  69

3.6.1AWS App Mesh  69

3.6.2Azure Service Fabric Mesh  69

3.6.3Google Cloud Service Mesh  70

3.6.4SuperGloo  70

3.7Service Mesh标准化  71

3.8本章小结  71

第二篇架构篇

第4章Envoy架构剖析  74

4.1Envoy整体架构  74

4.1.1关键设计约束  74

4.1.2设计原则  75

4.1.3整体架构  76

4.2Envoy网络模型  78

4.2.1Envoy事件调度模型  78

4.2.2Envoy线程模型  81

4.2.3线程本地存储机制  81

4.3Envoy扩展模型  84

4.3.1插件扩展机制  84

4.3.2网络相关插件  86

4.3.3其他扩展插件  88

4.4Envoy数据平面API  88

4.4.1XDS协议语义  88

4.4.2XDS协议通信  90

4.5Envoy启动管理  91

4.5.1正常启动  92

4.5.2热重启  94

4.6Envoy与Nginx架构层面的对比  95

4.6.1功能与定位  96

4.6.2网络模型  96

4.6.3连接处理  97

4.6.4插件机制  98

4.6.5配置管理  99

4.6.6内存管理  99

4.6.7部署与运维  100

4.6.8观测与诊断  100

4.7本章小结  100

第5章Istio架构剖析  101

5.1Istio整体架构  101

5.1.1数据平面组件  102

5.1.2控制平面组件  103

5.2Istio的Kubernetes基础  104

5.2.1Kubernetes综述  104

5.2.2Kubernetes网络访问模型  107

5.2.3Kubernetes API管理  110

5.2.4Istio与Kubernetes的相互关系  111

5.3Istio流量控制模型  112

5.3.1流量管理API  112

5.3.2Istio Mesh模型  116

5.4Mixer模型  118

5.4.1Mixer基本概念  119

5.4.2Mixer通用配置模型  119

5.4.3Mixer架构演进以及对性能的影响  121

5.5Istio安全  122

5.5.1Istio安全基础  122

5.5.2Istio认证架构  123

5.6Istio配置处理框架  124

5.6.1配置验证  125

5.6.2配置变更处理和分发  125

5.7本章小结  125

第6章Istio控制流设计  126

6.1Envoy生命周期管理  126

6.1.1Envoy注入  126

6.1.2Envoy启动管理  128

6.1.3Envoy配置和运行状态监控  131

6.2Istio配置变更管理  133

6.2.1通用模型和机制  133

6.2.2Kubernetes具体实现  137

6.3控制平面和数据平面的XDS交互  138

6.3.1控制平面的gRPC Server启动  139

6.3.2Envoy的XDS请求  140

6.3.3Istio XDS配置下发  140

6.3.4Envoy的XDS消息接收  143

6.4XDS配置生成  143

6.4.1可见性  143

6.4.2配置生成机制  145

6.4.3XDS配置生成实现  147

6.5XDS配置的Envoy处理  149

6.5.1XDS配置变更的判断  149

6.5.2CDS配置的延迟处理  150

6.5.3集群和节点配置处理  152

6.5.4路由配置处理  153

6.5.5监听器配置处理  153

6.6本章小结  155

第7章Istio数据流设计  156

7.1Iptables  156

7.1.1Iptables的基本原理  156

7.1.2Iptables在Istio中的使用  158

7.2监听管理  158

7.2.1监听器建立  158

7.2.2监听器和工作线程绑定  159

7.3连接管理  160

7.3.1监听器匹配  160

7.3.2协议过滤器匹配  161

7.3.3创建新连接  161

7.4网络I/O和缓冲区管理  162

7.4.1传输层数据读取  162

7.4.2插件处理  163

7.5Thrift协议处理  164

7.5.1Thrift插件的整体架构  164

7.5.2协议解析  165

7.5.3协议相关的插件机制  166

7.6HTTP请求处理  168

7.6.1HTTP请求处理流程  168

7.6.2协议解析  169

7.6.3路由管理  171

7.6.4HTTP过滤链处理  174

7.6.5负载均衡  176

7.6.6连接池实现  179

7.7本章小结  182

第8章Istio微服务治理  183

8.1链路稳定性治理  183

8.1.1超时机制  183

8.1.2重试机制和重试策略  185

8.1.3节点熔断和健康检查机制  188

8.1.4资源限制机制  189

8.1.5全局限流机制  190

8.2链路可观测性  190

8.2.1Envoy分布式跟踪支持  190

8.2.2Envoy Metric支持  194

8.2.3Envoy Log支持  198

8.3本章小结  200

第9章Service Mesh架构的工程化设计  201

9.1复用和解耦  201

9.2架构扩展机制  203

9.2.1服务注册中心插件机制  203

9.2.2Envoy Filter插件机制  203

9.3性能设计  204

9.3.1基于TLS的无锁设计  204

9.3.2多级缓存机制  205

9.3.3批量更新机制  205

9.4架构设计的权衡  206

9.5API和SDK设计  207

9.5.1声明式API设计  207

9.5.2代码自动生成机制  207

9.6配置管理  208

9.6.1基于Protobuf 3的配置Scheme描述  208

9.6.2配置动态加载机制  210

9.7本章小结  210

第10章Service Mesh与云原生架构  211

10.1Service Mesh和Serverless  211

10.1.1Serverless基础  211

10.1.2Knative  213

10.2东西向和南北向通信的统一  215

10.3云原生时代的Service Mesh  216

10.4Service Mesh现状和展望  217

10.5本章小结  218

附录Service Mesh迁移的要点与原则 

原文  http://mp.weixin.qq.com/s?__biz=MzI0NTIxNzE1Ng==&mid=2651218452&idx=3&sn=d26b645e0e838ae2e5da59f2279e1965
正文到此结束
Loading...