展开全部

主编推荐语

华为云Istio团队深入剖析服务网格技术,助力新手老鸟全面掌握Istio细节。

内容简介

本书作者来自于华为云Istio应用服务网格产品研发团队以及华为Istio开源社区团队。本书结合作者在华为云及Istio社区的设计与开发实践,以及与服务网格强相关的Kubernetes、微服务和云原生领域的丰富经验,对服务网格技术、Istio开源项目的原理、架构和源码进行了深入剖析与讲解,由浅入深迭代地展开Istio的能力、用法、设计和实现,全面、立体了解云原生服务网格技术Istio的每个技术细节。对于刚入门的读者,本书提供了从零开始的Istio上手实战指导,而对于已在产品中使用Istio的用户也提供了丰富的案例与经验总结,因此,无论是新手还是老鸟都能够从本书中受益。本书是全球第一本基于Istio1.1最新版本的技术书,也是国内第一本由Istio社区开发人员所撰写的原创书籍。

目录

  • 封面
  • 作者简介
  • 版权页
  • 推荐序
  • 前言
  • 目录
  • 原理篇
  • 第1章 你好,Istio
  • 1.1 Istio是什么
  • 1.2 通过示例看看Istio能做什么
  • 1.3 Istio与服务治理
  • 1.3.1 关于微服务
  • 1.3.2 服务治理的三种形态
  • 1.3.3 Istio不只解决了微服务问题
  • 1.4 Istio与服务网格
  • 1.4.1 时代选择服务网格
  • 1.4.2 服务网格选择Istio
  • 1.5 Istio与Kubernetes
  • 1.5.1 Istio,Kubernetes的好帮手
  • 1.5.2 Kubernetes,Istio的好基座
  • 1.6 本章总结
  • 第2章 Istio架构概述
  • 2.1 Istio的工作机制
  • 2.2 Istio的服务模型
  • 2.2.1 Istio的服务
  • 2.2.2 Istio的服务版本
  • 2.2.3 Istio的服务实例
  • 2.3 Istio的主要组件
  • 2.3.1 istio-pilot
  • 2.3.2 istio-telemetry
  • 2.3.3 istio-policy
  • 2.3.4 istio-citadel
  • 2.3.5 istio-galley
  • 2.3.6 istio-sidecar-injector
  • 2.3.7 istio-proxy
  • 2.3.8 istio-ingressgateway
  • 2.3.9 其他组件
  • 2.4 本章总结
  • 第3章 非侵入的流量治理
  • 3.1 Istio流量治理的原理
  • 3.1.1 负载均衡
  • 3.1.2 服务熔断
  • 3.1.3 故障注入
  • 3.1.4 灰度发布
  • 3.1.5 服务访问入口
  • 3.1.6 外部接入服务治理
  • 3.2 Istio路由规则配置:VirtualService
  • 3.2.1 路由规则配置示例
  • 3.2.2 路由规则定义
  • 3.2.3 HTTP路由(HTTPRoute)
  • 3.2.4 TLS路由(TLSRoute)
  • 3.2.5 TCP路由(TCPRoute)
  • 3.2.6 三种协议路由规则的对比
  • 3.2.7 VirtualService的典型应用
  • 3.3 Istio目标规则配置:DestinationRule
  • 3.3.1 DestinationRule配置示例
  • 3.3.2 DestinationRule规则定义
  • 3.3.3 DestinationRule的典型应用
  • 3.4 Istio服务网关配置:Gateway
  • 3.4.1 Gateway配置示例
  • 3.4.2 Gateway规则定义
  • 3.4.3 Gateway的典型应用
  • 3.5 Istio外部服务配置:ServiceEntry
  • 3.5.1 ServiceEntry配置示例
  • 3.5.2 ServiceEntry规则的定义和用法
  • 3.5.3 ServiceEntry的典型应用
  • 3.6 Istio代理规则配置:Sidecar
  • 3.6.1 Sidecar配置示例
  • 3.6.2 Sidecar规则定义
  • 3.7 本章总结
  • 第4章 可扩展的策略和遥测
  • 4.1 Istio策略和遥测的原理
  • 4.1.1 应用场景
  • 4.1.2 工作原理
  • 4.1.3 属性
  • 4.1.4 Mixer的配置模型
  • 4.2 Istio遥测适配器配置
  • 4.2.1 Prometheus适配器
  • 4.2.2 Fluentd适配器
  • 4.2.3 StatsD适配器
  • 4.2.4 Stdio适配器
  • 4.2.5 Zipkin适配器
  • 4.2.6 厂商适配器
  • 4.3 Istio策略适配器配置
  • 4.3.1 List适配器
  • 4.3.2 Denier适配器
  • 4.3.3 Memory Quota适配器
  • 4.3.4 Redis Quota适配器
  • 4.4 Kubernetes Env适配器配置
  • 4.5 本章总结
  • 第5章 可插拔的服务安全
  • 5.1 Istio服务安全的原理
  • 5.1.1 认证
  • 5.1.2 授权
  • 5.1.3 密钥证书管理
  • 5.2 Istio服务认证配置
  • 5.2.1 认证策略配置示例
  • 5.2.2 认证策略的定义
  • 5.2.3 TLS访问配置
  • 5.2.4 认证策略的典型应用
  • 5.3 Istio服务授权配置
  • 5.3.1 授权启用配置
  • 5.3.2 授权策略配置
  • 5.3.3 授权策略的典型应用
  • 5.4 本章总结
  • 第6章 透明的Sidecar机制
  • 6.1 Sidecar注入
  • 6.1.1 Sidecar Injector自动注入的原理
  • 6.1.2 Sidecar注入的实现
  • 6.2 Sidecar流量拦截
  • 6.2.1 iptables的基本原理
  • 6.2.2 iptables的规则设置
  • 6.2.3 流量拦截原理
  • 6.3 本章总结
  • 第7章 多集群服务治理
  • 7.1 Istio多集群服务治理
  • 7.1.1 Istio多集群的相关概念
  • 7.1.2 Istio多集群服务治理现状
  • 7.2 多集群模式1:多控制面
  • 7.2.1 服务DNS解析的原理
  • 7.2.2 Gateway连接的原理
  • 7.3 多集群模式2:VPN直连单控制面
  • 7.4 多集群模式3:集群感知服务路由单控制面
  • 7.5 本章总结
  • 实践篇
  • 第8章 环境准备
  • 8.1 在本地搭建Istio环境
  • 8.1.1 安装Kubernetes集群
  • 8.1.2 安装Helm
  • 8.1.3 安装Istio
  • 8.2 在公有云上使用Istio
  • 8.3 尝鲜Istio命令行
  • 8.4 应用示例
  • 8.4.1 Weather Forecast简介
  • 8.4.2 Weather Forecast部署
  • 8.5 本章总结
  • 第9章 流量监控
  • 9.1 预先准备:安装插件
  • 9.2 调用链跟踪
  • 9.3 指标监控
  • 9.3.1 Prometheus
  • 9.3.2 Grafana
  • 9.4 服务网格监控
  • 9.5 本章总结
  • 第10章 灰度发布
  • 10.1 预先准备:将所有流量都路由到各个服务的v1版本
  • 10.2 基于流量比例的路由
  • 10.3 基于请求内容的路由
  • 10.4 组合条件路由
  • 10.5 多服务灰度发布
  • 10.6 TCP服务灰度发布
  • 10.7 自动化灰度发布
  • 10.7.1 正常发布
  • 10.7.2 异常发布
  • 第11章 流量治理
  • 11.1 流量负载均衡
  • 11.1.1 ROUND_ROBIN模式
  • 11.1.2 RANDOM模式
  • 11.2 会话保持
  • 11.2.1 实战目标
  • 11.2.2 实战演练
  • 11.3 故障注入
  • 11.3.1 延迟注入
  • 11.3.2 中断注入
  • 11.4 超时
  • 11.5 重试
  • 11.6 HTTP重定向
  • 11.7 HTTP重写
  • 11.8 熔断
  • 11.9 限流
  • 11.9.1 普通方式
  • 11.9.2 条件方式
  • 11.10 服务隔离
  • 11.10.1 实战目标
  • 11.10.2 实战演练
  • 11.11 影子测试
  • 11.12 本章总结
  • 第12章 服务保护
  • 12.1 网关加密
  • 12.1.1 单向TLS网关
  • 12.1.2 双向TLS网关
  • 12.1.3 用SDS加密网关
  • 12.2 访问控制
  • 12.2.1 黑名单
  • 12.2.2 白名单
  • 12.3 认证
  • 12.3.1 实战目标
  • 12.3.2 实战演练
  • 12.4 授权
  • 12.4.1 命名空间级别的访问控制
  • 12.4.2 服务级别的访问控制
  • 12.5 本章总结
  • 第13章 多集群管理
  • 13.1 实战目标
  • 13.2 实战演练
  • 13.3 本章总结
  • 架构篇
  • 第14章 司令官Pilot
  • 14.1 Pilot的架构
  • 14.1.1 Istio的服务模型
  • 14.1.2 xDS协议
  • 14.2 Pilot的工作流程
  • 14.2.1 Pilot的启动与初始化
  • 14.2.2 服务发现
  • 14.2.3 配置规则发现
  • 14.2.4 Envoy的配置分发
  • 14.3 Pilot的插件
  • 14.3.1 安全插件
  • 14.3.2 健康检查插件
  • 14.3.3 Mixer插件
  • 14.4 Pilot的设计亮点
  • 14.4.1 三级缓存优化
  • 14.4.2 去抖动分发
  • 14.4.3 增量EDS
  • 14.4.4 资源隔离
  • 14.5 本章总结
  • 第15章 守护神Mixer
  • 15.1 Mixer的整体架构
  • 15.2 Mixer的服务模型
  • 15.2.1 Template
  • 15.2.2 Adapter
  • 15.3 Mixer的工作流程
  • 15.3.1 启动初始化
  • 15.3.2 用户配置信息规则处理
  • 15.3.3 访问策略的执行
  • 15.3.4 无侵入遥测
  • 15.4 Mixer的设计亮点
  • 15.5 如何开发Mixer Adapter
  • 15.5.1 Adapter实现概述
  • 15.5.2 内置式Adapter的开发步骤
  • 15.5.3 独立进程式Adapter的开发步骤
  • 15.5.4 独立仓库式Adapter的开发步骤
  • 15.6 本章总结
  • 第16章 安全碉堡Citadel
  • 16.1 Citadel的架构
  • 16.2 Citadel的工作流程
  • 16.2.1 启动初始化
  • 16.2.2 证书控制器
  • 16.2.3 gRPC服务器
  • 16.2.4 证书轮换器
  • 16.2.5 SDS服务器
  • 16.3 本章总结
  • 第17章 高性能代理Envoy
  • 17.1 Envoy的架构
  • 17.2 Envoy的特性
  • 17.3 Envoy的模块结构
  • 17.4 Envoy的线程模型
  • 17.5 Envoy的内存管理
  • 17.5.1 变量管理
  • 17.5.2 Buffer管理
  • 17.6 Envoy的流量控制
  • 17.7 Envoy与Istio的配合
  • 17.7.1 部署与交互
  • 17.7.2 Envoy API
  • 17.3 本章总结
  • 第18章 代理守护进程Pilot-agent
  • 18.1 为什么需要Pilot-agent
  • 18.2 Pilot-agent的工作流程
  • 18.2.1 Envoy的启动
  • 18.2.2 Envoy的热重启
  • 18.2.3 守护Envoy
  • 18.2.4 优雅退出
  • 18.3 本章总结
  • 第19章 配置中心Galley
  • 19.1 Galley的架构
  • 19.1.1 MCP
  • 19.1.2 MCP API
  • 19.2 Galley的工作流程
  • 19.2.1 启动初始化
  • 19.2.2 配置校验
  • 19.2.3 配置聚合与分发
  • 19.3 本章总结
  • 源码篇
  • 第20章 Pilot源码解析
  • 20.1 进程启动流程
  • 20.2 关键代码分析
  • 20.2.1 ConfigController
  • 20.2.2 ServiceController
  • 20.2.3 xDS异步分发
  • 20.2.4 配置更新预处理
  • 20.2.5 xDS配置的生成及分发
  • 20.3 本章总结
  • 第21章 Mixer源码解析
  • 21.1 进程启动流程
  • 21.1.1 runServer通过newServer新建Server对象
  • 21.1.2 启动Mixer gRPC Server
  • 21.2 关键代码分析
  • 21.2.1 监听用户的配置
  • 21.2.2 构建数据模型
  • 21.2.3 Check接口
  • 21.2.4 Report接口
  • 21.2.5 请求分发
  • 21.2.6 协程池
  • 21.3 本章总结
  • 第22章 Citadel源码解析
  • 22.1 进程启动流程
  • 22.2 关键代码分析
  • 22.2.1 证书签发实体IstioCA
  • 22.2.2 SecretController的创建和核心原理
  • 22.2.3 CA Server的创建和核心原理
  • 22.3 本章总结
  • 第23章 Envoy源码解析
  • 23.1 Envoy的初始化
  • 23.1.1 启动参数bootstrap的初始化
  • 23.1.2 Admin API的初始化
  • 23.1.3 Worker的初始化
  • 23.1.4 CDS的初始化
  • 23.1.5 LDS的初始化
  • 23.1.6 GuardDog的初始化
  • 23.2 Envoy的运行和建立新连接
  • 23.2.1 启动worker
  • 23.2.2 Listener的加载
  • 23.2.3 接收连接
  • 23.3 Envoy对数据的读取、接收及处理
  • 23.3.1 读取数据
  • 23.3.2 接收数据
  • 23.3.3 处理数据
  • 23.4 Envoy发送数据到服务端
  • 23.4.1 匹配路由
  • 23.4.2 获取连接池
  • 23.4.3 选择上游主机
  • 23.5 本章总结
  • 第24章 Galley源码解析
  • 24.1 进程启动流程
  • 24.1.1 RunServer的启动流程
  • 24.1.2 RunValidation Server的启动流程
  • 24.2 关键代码分析
  • 24.2.1 配置校验
  • 24.2.2 配置监听
  • 24.2.3 配置分发
  • 24.3 本章总结
  • 结语
  • 附录A 源码仓库介绍
  • 附录B 实践经验和总结
  • 关于华为云原生团队
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。