注重体验与质量的电子书资源下载网站
分类于: 职场办公 计算机基础
简介
未来架构:从服务化到云原生 豆 6.0分
资源最后更新于 2020-09-26 17:39:54
作者:张亮
出版社:电子工业出版社
出版日期:2019-01
ISBN:9787121355356
文件格式: pdf
标签: 云原生 架构设计 架构 计算机 分布式 微服务 软件开发 编程
简介· · · · · ·
互联网架构不断演化,经历了从集中式架构到分布式架构,再到云原生架构的过程。云原生因能解决传统应用升级缓慢、架构臃肿、无法快速迭代等问题而成了未来云端应用的目标。
《未来架构:从服务化到云原生》首先介绍架构演化过程及云原生的概念,让读者对基础概念有一个准确的了解,接着阐述分布式、服务化、可观察性、容器调度、Service Mesh、云数据库等技术体系及原理,并介绍相关的SkyWalking、Dubbo、Spring Cloud、Kubernetes、Istio等开源解决方案,最后深度揭秘开源分布式数据库生态圈ShardingSphere的设计、实现,以及进入Apache基金会的历程,非常适合架构师、云计算从业人员阅读、学习。
目录
第1章 云原生 1
1.1 互联网架构变迁 2
1.1.1 互联网架构的核心问题 2
1.1.2 从集中式架构到分布式架构 5
1.1.3 从分布式架构到云原生架构 10
1.2 什么是云原生 15
1.2.1 概述 15
1.2.2 云原生与十二要素 16
1.2.3 十二要素进阶 23
1.2.4 云原生与CNCF 24
第2章 远程通信 41
2.1 通信方式 41
2.1.1 通信协议 42
2.1.2 I/O模型 51
2.1.3 Java中的I/O 53
2.2 序列化 66
2.2.1 文本序列化 67
2.2.2 二进制Java序列化 68
2.2.3 二进制异构语言序列化 71
2.3 远程调用 78
2.3.1 核心概念 78
2.3.2 Java远程方法调用 79
2.3.3 异构语言RPC框架gRPC 82
第3章 配置 89
3.1 本地配置 89
3.2 配置集中化 90
3.3 配置中心和注册中心 91
3.4 读性能 92
3.5 变更实时性 93
3.6 可用性 94
3.7 数据一致性 96
第4章 服务治理 97
4.1 服务发现 97
4.1.1 服务发现概述 97
4.1.2 ZooKeeper 100
4.1.3 Eureka 109
4.2 负载均衡 112
4.2.1 服务端负载均衡 112
4.2.2 客户端负载均衡 115
4.3 限流 118
4.3.1 限流算法 119
4.3.2 限流实现方案 121
4.3.3 限流的维度与粒度 129
4.4 熔断 131
4.4.1 概述 131
4.4.2 熔断器模式 132
4.4.3 Hystrix 133
第5章 观察分布式服务 135
5.1 层次划分 136
5.2 核心概念 136
5.3 分布式追踪 138
5.3.1 概述 138
5.3.2 常见的开源解决方案 139
5.4 应用性能管理与可观察性平台 140
5.5 Apache SkyWalking 142
5.5.1 项目定位 142
5.5.2 SkyWalking 5核心架构 143
5.5.3 SkyWalking 5公开案例 146
5.5.4 SkyWalking 6可观察性分析平台 147
第6章 侵入式服务治理方案 157
6.1 Dubbo 157
6.1.1 Dubbo概述 158
6.1.2 核心流程 160
6.1.3 注册中心 160
6.1.4 负载均衡 162
6.1.5 远程通信 163
6.1.6 限流 164
6.1.7 治理中心 165
6.1.8 监控中心 165
6.1.9 DubboX的扩展 166
6.2 Spring Cloud 168
6.2.1 概述 168
6.2.2 开发脚手架Spring Boot 172
6.2.3 服务发现 174
6.2.4 负载均衡 176
6.2.5 熔断 178
6.2.6 远程通信 179
第7章 云原生生态的基石Kubernetes 181
7.1 Kubernetes架构 182
7.2 分层设计理念及架构模型 183
7.3 设计哲学 184
7.4 Kubernetes中的原语 185
7.4.1 Kubernetes中的对象 185
7.4.2 对象的期望状态与实际状态 186
7.4.3 描述Kubernetes对象 187
7.4.4 服务发现与负载均衡 188
7.4.5 安全性与权限管理 189
7.4.6 Sidecar设计模式 190
7.5 应用Kubernetes 190
7.6 Kubernetes与云原生生态 192
7.6.1 下一代云计算标准 192
7.6.2 当前存在的问题 192
7.6.3 未来趋势 193
第8章 跨语言服务治理方案Service Mesh 195
8.1 Service Mesh概述 195
8.1.1 Service Mesh的由来 195
8.1.2 Service Mesh的定义 196
8.1.3 Service Mesh详解 197
8.2 Service Mesh演进历程 200
8.2.1 远古时代的案例 200
8.2.2 微服务时代的现状 201
8.2.3 侵入式框架的痛点 202
8.2.4 解决问题的思路 206
8.2.5 Proxy模式的探索 207
8.2.6 Sidecar模式的出现 208
8.2.7 第一代Service Mesh 209
8.2.8 第二代Service Mesh 210
8.3 Service Mesh市场竞争 212
8.3.1 Service Mesh的萌芽期 212
8.3.2 急转直下的Linkerd 212
8.3.3 波澜不惊的Envoy 214
8.3.4 背负使命的Istio 214
8.3.5 背水一战的Buoyant 215
8.3.6 其他参与者 217
8.3.7 Service Mesh的国内发展情况 219
8.4 Istio 220
8.4.1 Istio概述 220
8.4.2 架构和核心组件 222
第9章 云原生数据架构 232
9.1 关系型数据库尚能饭否 232
9.1.1 优势 233
9.1.2 不足 234
9.2 未达预期的NoSQL 235
9.2.1 键值数据库 235
9.2.2 文档数据库 236
9.2.3 列族数据库 236
9.3 冉冉升起的NewSQL 237
9.3.1 新架构 238
9.3.2 透明化分片中间件 238
9.3.3 云数据库 239
9.4 云原生数据库中间件的核心功能 239
9.4.1 数据分片 239
9.4.2 分布式事务 258
9.4.3 数据库治理 265
第10章 分布式数据库中间件生态圈ShardingSphere 267
10.1 缘起 267
10.1.1 内部应用框架 268
10.1.2 开源历程 269
10.2 核心功能 271
10.2.1 数据分片 272
10.2.2 分布式事务 301
10.2.3 数据库治理 307
10.3 Sharding-JDBC 310
10.3.1 概述 310
10.3.2 使用说明 311
10.4 Sharding-Proxy 316
10.4.1 概述 316
10.4.2 使用说明 317
10.5 Database Mesh 317
10.5.1 概述 317
10.5.2 Service Mesh回顾 318
10.5.3 Database Mesh与Service Mesh的异同 319
10.5.4 Sharding-Sidecar 320
10.6 未来规划 321
1.1 互联网架构变迁 2
1.1.1 互联网架构的核心问题 2
1.1.2 从集中式架构到分布式架构 5
1.1.3 从分布式架构到云原生架构 10
1.2 什么是云原生 15
1.2.1 概述 15
1.2.2 云原生与十二要素 16
1.2.3 十二要素进阶 23
1.2.4 云原生与CNCF 24
第2章 远程通信 41
2.1 通信方式 41
2.1.1 通信协议 42
2.1.2 I/O模型 51
2.1.3 Java中的I/O 53
2.2 序列化 66
2.2.1 文本序列化 67
2.2.2 二进制Java序列化 68
2.2.3 二进制异构语言序列化 71
2.3 远程调用 78
2.3.1 核心概念 78
2.3.2 Java远程方法调用 79
2.3.3 异构语言RPC框架gRPC 82
第3章 配置 89
3.1 本地配置 89
3.2 配置集中化 90
3.3 配置中心和注册中心 91
3.4 读性能 92
3.5 变更实时性 93
3.6 可用性 94
3.7 数据一致性 96
第4章 服务治理 97
4.1 服务发现 97
4.1.1 服务发现概述 97
4.1.2 ZooKeeper 100
4.1.3 Eureka 109
4.2 负载均衡 112
4.2.1 服务端负载均衡 112
4.2.2 客户端负载均衡 115
4.3 限流 118
4.3.1 限流算法 119
4.3.2 限流实现方案 121
4.3.3 限流的维度与粒度 129
4.4 熔断 131
4.4.1 概述 131
4.4.2 熔断器模式 132
4.4.3 Hystrix 133
第5章 观察分布式服务 135
5.1 层次划分 136
5.2 核心概念 136
5.3 分布式追踪 138
5.3.1 概述 138
5.3.2 常见的开源解决方案 139
5.4 应用性能管理与可观察性平台 140
5.5 Apache SkyWalking 142
5.5.1 项目定位 142
5.5.2 SkyWalking 5核心架构 143
5.5.3 SkyWalking 5公开案例 146
5.5.4 SkyWalking 6可观察性分析平台 147
第6章 侵入式服务治理方案 157
6.1 Dubbo 157
6.1.1 Dubbo概述 158
6.1.2 核心流程 160
6.1.3 注册中心 160
6.1.4 负载均衡 162
6.1.5 远程通信 163
6.1.6 限流 164
6.1.7 治理中心 165
6.1.8 监控中心 165
6.1.9 DubboX的扩展 166
6.2 Spring Cloud 168
6.2.1 概述 168
6.2.2 开发脚手架Spring Boot 172
6.2.3 服务发现 174
6.2.4 负载均衡 176
6.2.5 熔断 178
6.2.6 远程通信 179
第7章 云原生生态的基石Kubernetes 181
7.1 Kubernetes架构 182
7.2 分层设计理念及架构模型 183
7.3 设计哲学 184
7.4 Kubernetes中的原语 185
7.4.1 Kubernetes中的对象 185
7.4.2 对象的期望状态与实际状态 186
7.4.3 描述Kubernetes对象 187
7.4.4 服务发现与负载均衡 188
7.4.5 安全性与权限管理 189
7.4.6 Sidecar设计模式 190
7.5 应用Kubernetes 190
7.6 Kubernetes与云原生生态 192
7.6.1 下一代云计算标准 192
7.6.2 当前存在的问题 192
7.6.3 未来趋势 193
第8章 跨语言服务治理方案Service Mesh 195
8.1 Service Mesh概述 195
8.1.1 Service Mesh的由来 195
8.1.2 Service Mesh的定义 196
8.1.3 Service Mesh详解 197
8.2 Service Mesh演进历程 200
8.2.1 远古时代的案例 200
8.2.2 微服务时代的现状 201
8.2.3 侵入式框架的痛点 202
8.2.4 解决问题的思路 206
8.2.5 Proxy模式的探索 207
8.2.6 Sidecar模式的出现 208
8.2.7 第一代Service Mesh 209
8.2.8 第二代Service Mesh 210
8.3 Service Mesh市场竞争 212
8.3.1 Service Mesh的萌芽期 212
8.3.2 急转直下的Linkerd 212
8.3.3 波澜不惊的Envoy 214
8.3.4 背负使命的Istio 214
8.3.5 背水一战的Buoyant 215
8.3.6 其他参与者 217
8.3.7 Service Mesh的国内发展情况 219
8.4 Istio 220
8.4.1 Istio概述 220
8.4.2 架构和核心组件 222
第9章 云原生数据架构 232
9.1 关系型数据库尚能饭否 232
9.1.1 优势 233
9.1.2 不足 234
9.2 未达预期的NoSQL 235
9.2.1 键值数据库 235
9.2.2 文档数据库 236
9.2.3 列族数据库 236
9.3 冉冉升起的NewSQL 237
9.3.1 新架构 238
9.3.2 透明化分片中间件 238
9.3.3 云数据库 239
9.4 云原生数据库中间件的核心功能 239
9.4.1 数据分片 239
9.4.2 分布式事务 258
9.4.3 数据库治理 265
第10章 分布式数据库中间件生态圈ShardingSphere 267
10.1 缘起 267
10.1.1 内部应用框架 268
10.1.2 开源历程 269
10.2 核心功能 271
10.2.1 数据分片 272
10.2.2 分布式事务 301
10.2.3 数据库治理 307
10.3 Sharding-JDBC 310
10.3.1 概述 310
10.3.2 使用说明 311
10.4 Sharding-Proxy 316
10.4.1 概述 316
10.4.2 使用说明 317
10.5 Database Mesh 317
10.5.1 概述 317
10.5.2 Service Mesh回顾 318
10.5.3 Database Mesh与Service Mesh的异同 319
10.5.4 Sharding-Sidecar 320
10.6 未来规划 321