[套装书]微服务之道:度量驱动开发+OpenShift在企业中的实践:PaaS DevOps 微服务(2册)

作者
范亚敏 傅健 魏新宇 郭跃军
丛书名
云计算与虚拟化技术丛书
出版社
机械工业出版社
ISBN
9782005221012
简要
简介
内容简介书籍计算机书籍 ---------------------------微服务之道:度量驱动开发--------------------------- 本书由资深架构师撰写,系统介绍级微服务设计与实现方法,融入了作者多年架构设计的经验。主要内容包括:第1章介绍微服务理论与原则,包括微服务概念、协议、特点等;第2章微服务实践方法,包括设计要点、应对变化、测试驱动的开发等;第3章通过案例讲解微服务实现的过程,包括一个完整实例;第4章介绍持续改进的方法,包括度量驱动的改进方法,用缓存提高性能,用NoSQL提高扩展性等;第5章介绍持续交付的方法,包括用脚本驱动开发方法,部署流水线等。 ---------------------------OpenShift在企业中的实践:PaaS DevOps 微服务--------------------------- 本书从企业数字化转型入手,介绍企业如何通过OpenShift构建PaaS平台、实现DevOps、实现微服务治理和微服务的高级管理。 全书共分为四大部分: *部分PaaS能力建设。即本书的PaaS三部曲”,包含第2-4章的内容,分别是:基于OpenShift构建企业级PaaS、OpenShift在企业中的开发和运维实践、OpenShift在公有云上的实践。 第二部分DevOps能力建设。即本书的DevOps两部曲”,包含第5-6章的内容,分别为:在OpenShift上实现DevOps、DevOps在企业中的实践。 第三部分微服务能力建设。即本书微服务三部曲”,包含第7-9章的内容,分别为:微服务介绍及Spring Cloud在OpenShift上落地、Istio架构介绍与安装部署、基于OpenShift和Istio实现微服务落地。 第四部分微服务高级管理。包含本书第10章的内容。介绍基于OpenShft和红帽其他解决方案微服务的高级管理(API管理、分布式集成和流程自动化),并*终实现企业业务中台的建设。
目录



---------------------------微服务之道:度量驱动开发---------------------------


本书赞誉
前言
第1章 微服务入门 1
1.1 单体服务的特点 1
1.2 拆分服务 2
1.2.1 分而治之以降低复杂性 2
1.2.2 分而用之以提高可重用性 4
1.2.3 分而做之以提高开发效率 5
1.3 微服务的特点 5
1.3.1 微服务架构的特点 6
1.3.2 微服务架构的特征 7
1.3.3 微服务架构的风格 7
1.3.4 微服务的分类 7
1.3.5 多小的服务才是微服务 8
1.4 微服务之道 8
1.4.1 软件之道 8
1.4.2 关于微服务的思考 10
1.5 土豆微服务案例快速上手 11
1.5.1 土豆微服务构建计划 11
1.5.2 微服务构建一:土豆管理微服务 13
1.5.3 微服务构建二:土豆提醒微服务 24
1.5.4 微服务构建三:土豆网页微服务 30
1.5.5 部署土豆微服务 35
1.6 本章小结 38
第2章 微服务度量的基本概念 39
2.1 微服务的局限及其解决方案 39
2.1.1 微服务的局限 39
2.1.2 解决方案 40
2.2 微服务中度量的重要性 41
2.3 微服务度量的内容 42
2.3.1 按度量的目标划分 43
2.3.2 按度量的层次划分 44
2.4 微服务度量指标与术语 49
2.4.1 统计学指标 49
2.4.2 度量指标相关术语 53
2.4.3 度量处理相关术语 55
2.5 微服务度量策略选择 58
2.5.1 如何做度量 58
2.5.2 如何选择度量方案 60
2.6 本章小结 63
第3章 微服务度量的设计 64
3.1 微服务协议的选择与度量 64
3.1.1 协议概述 64
3.1.2 协议分类 65
3.1.3 协议分析 67
3.2 HTTP及其度量 71
3.2.1 HTTP简介 71
3.2.2 REST协议的度量要点 71
3.3 SIP及其度量 72
3.3.1 SIP简介 72
3.3.2 SIP的度量要点 73
3.4 RTP及其度量 73
3.4.1 RTP简介 73
3.4.2 RTP的度量要点 74
3.5 数据存储系统的选型 76
3.5.1 理论回顾 76
3.5.2 数据存储系统选型 78
3.5.3 数据存储系统特性 79
3.6 基于度量实现高可用性 80
3.6.1 分流——负载均衡 81
3.6.2 限流——速率控制 83
3.6.3 断流——熔断隔离 91
3.7 土豆微服务度量驱动的设计 95
3.7.1 为如何度量而设计 96
3.7.2 通过度量改进设计 101
3.8 本章小结 102
第4章 度量驱动的微服务实现 103
4.1 度量代码 103
4.1.1 代码度量标准 103
4.1.2 代码度量关键指标 105
4.1.3 小结 107
4.2 度量进度 108
4.3 度量性能 110
4.4 度量微服务的常用技术 123
4.4.1 利用切面记录度量日志 123
4.4.2 利用线程局部变量记录度量信息 124
4.4.3 利用过滤器找准度量点 126
4.4.4 提供JMX暴露内部度量指标 127
4.4.5 提供API或命令行接口暴露内部度量指标 131
4.4.6 阈值和采样率控制度量数据量 132
4.4.7 利用简单网络管理协议提供度量查询和报警支持 135
4.4.8 综合利用以上技术 135
4.5 度量常用类库 138
4.5.1 Dropwizard的Metrics-core 138
4.5.2 Pivotal的Micrometer 140
4.5.3 Spring Boot Actuator 142
4.6 土豆微服务度量实现 147
4.6.1 为土豆微服务提供代码度量 147
4.6.2 为土豆微服务添加健康检查API 152
4.6.3 为土豆微服务提供资源使用率度量 156
4.6.4 为土豆微服务提供使用量的度量 157
4.6.5 为土豆微服务提供性能度量 159
4.6.6 为土豆微服务提供错误度量 160
4.6.7 为土豆微服务提供业务KPI度量 160
4.7 本章小结 163
第5章 度量数据的聚合与展示 164
5.1 度量数据的聚合和存储 164
5.2 度量数据的清洗和处理 166
5.2.1 数据清洗的方法 166
5.2.2 数据清洗的案例 166
5.3 度量数据的可视化 170
5.3.1 图表的结构 170
5.3.2 图表的类型 170
5.3.3 如何选择图表 179
5.4 常用度量聚合与展示方案 181
5.4.1 TIG方案 181
5.4.2 ELKK方案 188
5.4.3 Collectd方案 193
5.4.4 Prometheus方案 198
5.5 土豆微服务的度量聚合与展示 200
5.5.1 土豆微服务支持多种度量聚合与展示系统的设计 200
5.5.2 基于TIG的土豆微服务度量聚合与展示 202
5.5.3 基于ELKK的土豆微服务度量聚合与展示 207
5.6 本章小结 214
第6章 度量数据的分析与报警 215
6.1 度量数据的分析 215
6.1.1 确定数据分析的目标 215
6.1.2 数据分析常见问题 218
6.2 实现报警常用的技术 222
6.2.1 Python数据分析技术栈 223
6.2.2 YAML配置文件 223
6.2.3 Elasticsearch API 224
6.2.4 Pandas DataFrame 226
6.2.5 Matplotlib 228
6.3 土豆微服务的报警实现 230
6.3.1 报警系统的设计 230
6.3.2 报警系统的实现 232
6.3.3 报警系统的优化 242
6.4 本章小结 244
第7章 度量驱动的运维 245
7.1 部署升级 245
7.1.1 何时能部署到产品线上 246
7.1.2 如何发布新功能 247
7.2 数据的运维 251
7.2.1 健康检查 251
7.2.2 度量报告 251
7.2.3 度量警告 252
7.2.4 故障处理 252
7.2.5 基于度量来发现和解决问题 255
7.3 配置调整 258
7.3.1 关于配置的思考 259
7.3.2 配置的版本管理 259
7.3.3 配置的载体 260
7.3.4 环境管理 262
7.3.5 配置微服务 262
7.3.6 配置管理实例 263
7.4 开源组件的度量 267
7.4.1 对Redis的度量 267
7.4.2 对Kafka的度量 270
7.4.3 对Cassandra的度量 273
7.5 土豆微服务的运维示例 276
7.6 本章小结 280
第8章 全链路度量 281
8.1 微服务的调用链路度量 281
8.1.1 3个关键信息 282
8.1.2 5个要点 283
8.1.3 3种标识 283
8.1.4 开源调用链分析方案 284
8.1.5 构建土豆微服务调用链的度量 285
8.2 客户端度量数据的采集 289
8.3 度量驱动开发的回顾与展望 291
8.4 本章小结 293
附录 常用的度量相关工具与软件库 294



---------------------------OpenShift在企业中的实践:PaaS DevOps 微服务---------------------------


赞誉
推荐序
前言
致谢
第 1 章 通过 OpenShift 实现企业的数字化转型
1.1 企业进行数字化转型的必要性
1.2 企业数字化转型之 PaaS
1.3 企业数字化转型之 DevOps
1.3.1 从瀑布式开发到敏捷开发
1.3.2 从敏捷开发到 DevOps
1.4 企业数字化转型之微服务
1.4.1 微服务架构简介
1.4.2 微服务架构的主要类型
1.4.3 企业实施微服务架构的收益和原则
1.5 PaaS、DevOps 与微服务的关系
1.6 企业数字化转型的实现
1.6.1 企业业务中台的建设
1.6.2 企业数字化转型步骤
1.7 本章小结
第 2 章 基于 OpenShift 构建企业级PaaS 平台
2.1 OpenShift 与 Kubernetes 的关系
2.1.1 OpenShift 发展简史
2.1.2 OpenShift 对 Kubernetes 的增强
2.1.3 OpenShift 对 Kubernetes生态的延伸
2.2 OpenShift 的架构介绍与规划
2.2.1 OpenShift 的逻辑架构
2.2.2 OpenShift 的技术架构
2.2.3 OpenShift 的组件架构
2.2.4 OpenShift 的部署架构
2.3 OpenShift 部署架构参考
2.4 OpenShift 安装与部署
2.4.1 OpenShift3 的私有云部署
2.4.2 OpenShift4.1 的私有云部署
2.5 本章小结
第 3 章 OpenShift 在企业中的开发和运维实践
3.1 OpenShift 在企业中面向的对象
3.2 OpenShift 在企业中的开发实践
3.2.1 应用向 OpenShift 容器化迁移方法
3.2.2 基于 Fabric8 在 OpenShift 上发布应用
3.2.3 OpenShift API 的调用
3.2.4 在 OpenShift 上部署有状态应用
3.3 OpenShift 在企业中的运维实践
3.3.1 OpenShift 运维指导
3.3.2 OpenShift 安全实践
3.3.3 OpenShift 性能优化
3.3.4 OpenShift 监控系统与改造
3.3.5 OpenShift 日志系统与改造
3.3.6 OpenShift 备份恢复与容灾
3.4 本章小结
第 4 章 OpenShift 在公有云上的实践
4.1 OpenShift 在公有云和私有云上的区别
4.2 OpenShift 在公有云上的架构模型
4.2.1 单个 PaaS 共享架构模型
4.2.2 公有云服务自维护架构模型
4.2.3 控制节点托管架构模型
4.2.4 公有云租户独享 PaaS 架构模型
4.3 OpenShift 在公有云上的部署方式
4.4 OpenShift 在 AWS 上的实践
4.4.1 AWS 服务简介
4.4.2 OpenShift3 在 AWS 上的实践
4.4.3 OpenShift4 在 AWS 上的实践
4.4.4 AWS 上的 Service Broker
4.5 OpenShift 在阿里云上的实践
4.6 本章小结
第 5 章 在 OpenShift 上实现DevOps
5.1 DevOps 的适用场景
5.2 DevOps 的实现路径
5.2.1 组织与角色
5.2.2 平台与工具
5.2.3 流程与规范
5.2.4 文化与持续改进
5.2.5 总结
5.3 基于 OpenShift 实现 CI/CD 的几种方式
5.3.1 使用自定义的 S2I 模板
5.3.2 自定义模板实现 Binary部署
5.3.3 在源码外构建 Pipeline
5.3.4 在源码内构建 Pipeline
5.3.5 OpenShift 中 Jenkins 的工作方式选择
5.4 在 OpenShift 上实现持续交付
5.4.1 OpenShift 上的持续交付工具介绍
5.4.2 持续交付的实现
5.4.3 可以优化的部分
5.5 Ansible 实现混合云中的DevOps
5.5.1 Ansible 介绍
5.5.2 Ansible 基本使用场景
5.5.3 Ansible 在 DevOps 中的应用
5.6 本章小结
第 6 章 DevOps 在企业中的实践
6.1 成功实践 DevOps 的关键要素
6.1.1 定义全景视图和目标
6.1.2 标准化的流程和组织
6.1.3 建立 DevOps 基石:自动化
6.1.4 协同工作的文化
6.2 某大型客户 DevOps 案例分析
6.2.1 客户现状及项目背景
6.2.2 DevOps 落地实践
6.2.3 实践收益
6.3 本章小结
第 7 章 微服务介绍及 Spring Cloud在 OpenShift 上的落地
7.1 企业应用的发展
7.1.1 Jakarta EE 介绍
7.1.2 Jakarta EE 应用架构
7.1.3 Web Services 的大量使用
7.1.4 现代应用客户端开发方式
7.1.5 Web Services 的两种类型
7.1.6 企业应用发展的未来
7.2 微服务介绍
7.2.1 微服务方法论与设计原则
7.2.2 MicroProfile微服务框架
7.2.3 Spring Cloud 微服务框架
7.2.4 Istio微服务框架
7.2.5 微服务架构的选择
7.3 企业对微服务治理的需求
7.4 Spring Cloud 在 OpenShift 上的落地
7.4.1 Spring Cloud 在 OpenShift上实现的不同
7.4.2 Spring Cloud 在 OpenShift上的实现
7.5 本章小结
第 8 章 Istio架构介绍与安装部署
8.1 Istio的技术架构
8.1.1 两个平面的定义
8.1.2 控制平面
8.1.3 数据平面
8.1.4 Sidecar 的注入
8.2 在 OpenShift 上部署Istio
8.2.1 基于 OpenShift 的Istio与社区版本Istio的区别
8.2.2 在 OpenShift 上安装Istio
8.3 Istio的工具集简介
8.3.1 Istio的工具集:Grafana
8.3.2 Istio的工具集:Prometheus
8.3.3 Istio的工具集:Kiali
8.3.4 Istio的工具集:Jaeger
8.4 在Istio中部署Bookinfo微服务
8.4.1 Bookinfo微服务架构
8.4.2 在 OpenShift 中部署Bookinfo
8.4.3 Bookinfo微服务效果展示
8.5 Bookinfo微服务源码分析
8.5.1 Productpage微服务的源码
8.5.2 Reviews 微服务的源码
8.5.3 源码中Mongodb和Mysql的配置
8.5.4 Ratings 微服务的源码
8.5.5 Bookinfo访问效果展示
8.6 本章小结
第 9 章 基于 OpenShift 和Istio实现微服务落地
9.1 Istio的基本功能
9.1.1 Istio路由基本概念
9.1.2 基于目标端的灰度 / 蓝绿发布
9.1.3 微服务的灰度上线
9.1.4 微服务的限流
9.1.5 微服务的熔断
9.1.6 微服务的黑名单
9.2 对 OpenShift 上Istio的重要说明
9.2.1 OpenShift 上Istio入口访问方式的选择
9.2.2 OpenShift Router 和IstioIngessgateway的联系与区别
9.2.3 Istio配置生效的方式和选择
9.3 企业应用向Istio迁移
9.3.1 使用本地构建方式将应用迁移到Istio的步骤
9.3.2 三层微服务源码分析
9.3.3 三层微服务向Istio中迁移展示
9.4 Istio纳管微服务
9.4.1 纳管场景重要说明
9.4.2 三层微服务配置路由管理
9.4.3 三层微服务配置限流和熔断
9.4.4 三层微服务配置超时和重试
9.4.5 三层微服务配置错误注入
9.4.6 三层微服务配置黑白名单
9.4.7 三层微服务配置验证与授权
9.5 Istio生产使用建议
9.5.1 Istio的性能指标
9.5.2 Istio的调优参考
9.5.3 Istio的运维建议
9.6 基于 OpenShift 实现的企业微服务治理需求
9.7 本章小结
第 10 章 微服务的高级管理
10.1 微服务的 API 管理
10.1.1 API 经济的由来
10.1.2 API 经济的实现
10.1.3 API 网关与 API 管理的区别
10.2 微服务的 API 管理方案
10.2.1 红帽 API 管理方案的市场地位
10.2.2 红帽 3Scale 的技术架构与实现效果
10.2.3 红帽 3Scale 对容器化应用的管理
10.2.4 红帽 3Scale 与Istio的集成
10.3 微服务的分布式集成
10.3.1 分布式集成方案
10.3.2 基于 OpenShift 和 Camel 的微服务集成
10.4 微服务的流程自动化
10.4.1 流程与规则
10.4.2 红帽的微服务流程自动化方案
10.4.3 RHPAM 与微服务的集成案例环境准备
10.4.4 RHPAM 与微服务的集成实验流程验证
10.5 业务中台的技术实现
10.6 本章小结
附录 OpenShift 投资回报率分析



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4