微服务架构深度解析:原理、实践阶王佩华 pdf下载pdf下载

微服务架构深度解析:原理、实践阶王佩华百度网盘pdf下载

作者:
简介:本篇提供书籍《微服务架构深度解析:原理、实践阶王佩华》百度网盘pdf下载
出版社:读买天下图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

  商品基本信息,请以下列介绍为准
商品名称:微服务架构深度解析:原理、实践阶
作者:王佩华
定价:118.0
出版社:电子工业出版社
出版日期:2021-06-01
ISBN:9787121412387
印次:1
版次:第1版
装帧:
开本:16开

  内容简介
在当今的数字化经济时代,微服务架构已经成为公司业务构建的主流架构模式,代表了未来的技术发展趋势,同时微服务也成为开发者的技能。本书从微服务架构的设计理念和方法论切入,从不同角度全面介绍微服务特、使用场景、组织流程、构建交互、部署交付等软件工程各个关键环节和核心要素,既包含了具体微服务技术的源码解读、原理分析,也加入了作者在电信、金融领域积累的真实案例和实践经验。全书分为原理篇、实践篇阶篇。原理篇涵盖微服务的概念、采用前提、领域驱动设计、DevOps;实践篇对Spring Boot、Spring Cloud 治理框架、系统集成、微服务数据架构、微服务交付、微服务的监控等重要技术话题展开深入讲解阶篇主要介绍函数式编程及响应式微服务架构、Kubernetes、云原生架构生态。本书不仅适合初学者深入理解微服务架构,也可以作为团队管理者或者架构阶微服务架构的技术参考手册。

  目录
原理篇
第1 章 微服务概述 .......................................... 2
1.1 微服务架构介绍 ......................................... 3
1.1.1 背景介绍 ............................................. 3
1.1.2 微服务的定义 ......................................... 4
1.1.3 微服务与云原生 ....................................... 6
1.2 微服务主要特 .................................. 9
1.2.1 粒度更细的服务 ...................................... 9
1.2.2 围绕业务划分团队 ............................. 10
1.2.3 技术多样 .......................................... 11
1.2.4 去中心化 ............................................ 12
1.2.5 自动化运维 .......................................... 13
1.2.6 快速 ......................................... 14
1.3 架构设计哲学 .......................................... 14
1.3.1 小即是美 ......................................... 15
1.3.2 做好一件事 .......................................... 16
1.3.3 快速建立原型 ..................................... 16
1.3.4 软件的复利效应 ................................... 17
1.3.5 可移植优先 ....................................... 18
1.4 小结 ..... 19
微服务架构深度解析:原理、实践阶
XII
第2 章 微服务的采用前提 ................................... 20
2.1 微服务使用场景 .................................... 21
2.1.1 项目复杂度 .......................................... 21
2.1.2 团队规模 .......................................... 22
2.1.3 变更频率 .......................................... 22
2.1.4 项目类型 .......................................... 23
2.1.5 遗留系统迁移......................................... 23
2.2 技术与理念 ........................................... 24
2.2.1 面向服务 .......................................... 24
2.2.2 底座技术......................................... . 25
2.2.3 架构技术 .......................................... 26
2.2.4 服务监控与治理 ...................................... 28
2.2.5 容器和自动化技术 .................................. 28
2.2.6 云原生12 要素 ....................................... 29
2.3 康威定律 ..........................................32
2.3.1 协作问题 . 32
2.3.2 沟通效率问题 ........................................ 33
2.3.3 组织的........................................... 33
2.4 流程管理 ............................................. 34
2.4.1 敏捷方法论 .......................................... 34
2.4.2 DevOps 转型 ......................................... 35
2.4.3 自动化管理工具 ............................... 37
2.5 小结 ..... 37
第3 章 微服务构建 ...................................... 38
3.1 领域驱动设计 ..................................... 39
3.1.1 领域驱动设计概述 .................................. 39
3.1.2 专注问题域 .......................................... 42
3.1.3 服务的拆分 .......................................... 44
3.1.3 界限上下文 .......................................... 46
3.1.4 领域建模 .......................................... 47
3.1.5 架构设计 .......................................... 49
3.2 微服务化改造 ....................................... 51
3.2.1 技术债务......................................... . 51
3.2.2 微服务化改造时机 ................................... 51
3.2.3 单体架构的改造模式 ............................. 51
目 录
XIII
3.3 微服务构阶 ................................. 53
3.3.1 软件构建 .......................................... 53
3.3.2 微服务构建实践 ................................. 54
3.3.3 微服务架构反模式 ................................ 55
3.4 小结 ..... 57
实践篇
第4 章 脚手架 ............................................. 60
4.1 脚手架介绍 ........................................... 61
4.1.1 什么是脚手架 ........................................ 61
4.1.2 为什么需要脚手架 ................................. 61
4.1.3 不要重新造轮子 .................................... 62
4.1.4 常用脚手架........................................... 64
4.2 Spring Boot 启动 ................................ 67
4.2.1 Spring Boot 概述 .................................... 67
4.2.2 Spring Boot 快速搭建 ............................ 70
4.2.3 @SpringBootApplication 注解详解 ..................... 72
4.2.4 Spring Boot 启动流阶 .......................... 77
4.2.5 Spring Boot 自动装配机制 ........................ 80
4.2.6 Spring Boot 功能扩展点详解 ....................... 85
4.3 Spring Boot Starter 技术 .............................. 88
4.3.1 Spring Boot Starter 概述 ............................ 88
4.3.2 Spring Boot 常用开箱即用Starter ..................... 91
4.3.3 Spring Boot 生产就绪与环境配置 ...................... 95
4.3.4 Spring Boot 安全管理 .............................. 102
4.3.5 Spring Boot 实现自定义Starter ...................... 108
4.4 Spring Boot Web 容器 ................................. 114
4.4.1 Spring Boot Web 容器配置 ...................... 115
4.4.2 Spring Boot 嵌入式Web 容器原理 ................... 121
4.4.3 Spring Boot 的ClassLoader 加载机制 ............... 124
4.5 小结 ... 131
第5 章 关键技术 ........................................ 132
5.1 服务注册与发现 ............................. 133
5.1.1 服务注册与发现原理 .................... 133
微服务架构深度解析:原理、实践阶
XIV
5.1.2 微服务注册中心技术选型 ............................. 135
5.1.3 Spring Cloud Eureka ............................. 139
5.1.4 Eureka 架构与设计原理 .......................... 142
5.1.5 Eureka 缓存机制 .................................... 145
5.1.6 Eureka 定制化开发 ................................ 148
5.2 服务配置中心 .................................... 149
5.2.1 服务配置中心管理 ........................... 149
5.2.2 Spring Cloud Config ........................... 151
5.2.3 Config Server 配置详解 ......................... 158
5.2.4 Config Server 定制化开发......................... 161
5.3 微服务网关 ........................................... 170
5.3.1 微服务网关模式 .................................... 170
5.3.2 网关的主要功能 ..................................... 175
5.3.3 网关的技术选型 .................................. 177
5.3.4 Spring Cloud Zuul 网关 ........................... 178
5.3.5 Zuul 的主要工作原理 ........................... 182
5.3.6 Zuul 的插件机制及定制化开发 ....................... 187
5.3.7 Zuul 的动态路由 ................................. 190
5.3.8 Zuul Filter 扩展功能实现 .......................... 196
5.3.9 Zuul 源码解析 ..................................... 201
5.4 负载均衡 ........................................... 204
5.4.1 负载均衡机制 ....................................... 204
5.4.2 四层与七层负载均衡 ................................ 206
5.4.3 负载均衡算法 ...................................... 206
5.4.4 Spring Cloud Ribbon ............................ 207
5.4.5 Ribbon 的核心工作原理 ....................... 213
5.4.6 Ribbon 源码解析 .................................... 215
5.5 容错与隔离 ........................................... 222
5.5.1 隔离机制 ........................................... 223
5.5.2 微服务的风险 .................................... 225
5.5.3 降级保护 ........................................... 227
5.5.4 限流保护 ........................................... 229
5.5.5 熔断保护 ........................................... 231
5.5.6 超时与重试 ......................................... 232
5.5.7 Spring Cloud Hystrix 容错框架 ...................... 233
5.5.8 Hystrix 的核心工作原理 ......................... 240
目 录
XV
5.5.9 Hystrix 源码解析 .................................. 249
5.6 小结 ... 252
第6 章 系统集成 ........................................ 253
6.1 服务集成交互技术 ............................. 254
6.1.1 网络协议 .............................................. 254
6.1.2 Linux I/O 模式 .................................. 258
6.1.3 序列化方式 ......................................... 262
6.2 REST 服务集成 ............................... 263
6.2.1 REST API........................................ 264
6.2.2 Swagger 接口文档规范 .............................. 270
6.2.3 JAX-RS 提供REST 服务 ............................... 272
6.2.4 Feign 实现REST 调用 ........................... 273
6.3 RPC 远程过程调用 ..................................... 278
6.3.1 RPC 框架概述 ................................. 278
6.3.2 主流RPC 通信框架 ........................ 280
6.3.3 Dubbo 架阶 .............................. 281
6.3.4 Spring Cloud 集成Dubbo ..................... 294
6.3.5 Spring Cloud 集成gRPC .................... 299
6.4 MOM 异步通信 ............................... 309
6.4.1 消息中间件概述 ............................... 309
6.4.2 消息中间件的使用场景 ................. 311
6.4.3 常用消息中间件 .............................. 314
6.4.4 RabbitMQ 消息中间件 ................... 314
6.4.5 Kafka 消息中间件 ........................... 318
6.4.6 Spring Cloud Stream 概述 ....................... 319
6.4.7 Stream 源码解析 .................................... 325
6.4.8 Stream 应阶 .................................... 341
6.5 小结 ... 344
第7 章 微服务数据架构 ............................ 345
7.1 数据分类及存储特 ................................... 346
7.1.1 关系数据库概述 .................................. 346
7.1.2 NoSQL 数据存储 ................................. 349
7.1.3 Spring Data ........................................ 353
7.1.4 使用spring-boot-starter-jdbc 访问MySQL ....... 354
7.1.5 Spring ORM 框架访问数据库 ........................... 358
微服务架构深度解析:原理、实践阶
? XVI ?
7.1.6 Spring Data 与NoSQL 的集成......................... 363
7.2 事务管理理论 .................................. 370
7.2.1 事务管理概述 ................................... 370
7.2.2 ACID 理论 ......................................... 372
7.2.3 一致理论 ......................................... 373
7.2.4 CAP 理论 ........................................... 373
7.2.5 BASE 理论........................................... 374
7.3 微服务架构的数据一致 .............................. 374
7.3.1 解决方案概览 ..................................... 375
7.3.2 两阶段提交模式 ................................ 375
7.3.3 TCC 补偿模式 .................................... 377
7.3.4 Saga 长事务模式 ............................... 379
7.3.5 可靠消息模式 ..................................... 383
7.4 小结 ... 389
第8 章 微服务交付 .................................. 390
8.1 软件交付 .................................. 391
8.1.1 软件过程模型 .................................... 391
8.1.2 交付历阶 ................................ 394
8.2 微服务如何持续集成交付 .............................. 397
8.2.1 配置管理概述 ...................................... 398
8.2.2 持续集成概述 ...................................... 399
8.2.3 持续集成Pipeline ............................. 399
8.2.4 持续交付概述 .................................... 408
8.2.5 持续交付Pipeline .............................. 408
8.3 基于容器的交付 .............................. 410
8.3.1 Docker 概述 ....................................... 410
8.3.2 Docker 的原理 .................................. 412
8.3.3 Docker 构建部署过程 .......................... 414
8.3.4 Docker Compose 编排服务 ............................ 419
8.3.5 Maven 插件构建Docker 镜像 ......................... 421
8.4 小结 ... 423
第9 章 服务监控治理...................................... 424
9.1 监控系统概述 ..................................... 425
9.1.1 监控系统原理及分类 ........................ 425
目 录
XVII
9.1.2 监控分类 ........................................... 427
9.1.3 监控关注的对象 .................................... 428
9.2 指标型数据监控 ....................................... 431
9.2.1 指标采集概述 ....................................... 431
9.2.2 JavaAgent 技术 ..................................... 434
9.2.3 Javaassist 技术 .................................... 438
9.2.4 Spring Boot Admin 监控详解 ......................... 440
9.2.5 Spring Boot 集成Prometheus ......................... 443
9.3 日志监控方案 ........................................ 446
9.3.1 日志采集方案 ....................................... 446
9.3.2 ELK 日志的解决方案 ................................. 449
9.3.3 Spring Boot 的日志解决方案 ......................... 450
9.4 服务调用链技术 ....................................... 455
9.4.1 APM 与调用链技术 .................................. 455
9.4.2 Dapper 与分布式跟踪原理 ............................ 457
9.4.3 Sleuth 与Zipkin 技术................................ 459
9.4.4 SkyWa 技术..................................... 465
9.5 小结 ... 468
第10 章 响应式微服务架构 ................................. 470
10.1 响应式编程........................................... 471
10.1.1 响应式编程的动机 .................................. 471
10.1.2 响应式宣言......................................... 475
10.1.3 响应式编程详解..................................... 476
10.1.4 编程范式........................................... 480
10.2 响应式技术框架 ...................................... 482
10.2.1 响应式编程规范..................................... 483
10.2.2 Java Flow API...................................... 484
10.2.3 RxJava 响应式框架.................................. 487
10.2.4 Reactor 响应式框架................................. 490
10.2.5 Vert.X 响应式编程.................................. 494
10.2.6 Spring Boot 2 响应式编程........................... 497
10.3 Spring WebFlux 框架 ................................. 499
10.3.1 Spring WebFlux 概述................................ 499
微服务架构深度解析:原理、实践阶
XVIII
10.3.2 WebFlux 服务器开发................................. 501
10.3.3 WebClient 开发..................................... 506
10.3.4 服务端推送事件..................................... 509
10.3.5 Spring WebFlux 的优势与局限 ....................... 511
10.4 Spring Cloud Gateway................................. 514
10.4.1 Spring Cloud Gateway 概述 ......................... 514
10.4.2 Spring Cloud Gateway 的工作原理 .................. 517
10.4.3 Spring Cloud Gateway 的动态路由 .................. 527
10.4.4 Spring Cloud Gateway 源码解析 ..................... 533
10.5 小结 .. 540
第11 章 Kubernetes 容器管理 .............................. 541
11.1 Kubernetes 的基础.................................... 541
11.1.1 Kubernetes 基本概述................................ 541
11.1.2 Kubernetes 的核心组件.............................. 542
11.2 Kubernetes 的设计理念 ............................... 543
11.2.1 Kubernetes 的设计原则.............................. 543
11.2.2 Kubernetes 与微服务................................ 544
11.2.3 Kubernetes 与DevOps................................ 544
11.3 Spring Cloud 与Kubernetes 的生态融合 ..... 545
11.3.1 Spring Cloud 与Kubernetes 各自的优劣势 ..... 545
11.3.2 Spring Cloud 与Kubernetes 的融合 ................. 547
11.3.3 Spring Cloud Kubernetes 项目.......................548
11.4 小结 .. 552

  媒体评论
十多年微服务架构一线实战摸爬滚打快速成长经验分享

涵盖绝大部分微服务架构知识,内容充实、语言通俗

从分布式到微服务,从Spring Boot到Spring Cloud各组件,

从Docker到Kubernetes,从领域驱动设计到响应式编程和云原生

本书将信息梳理得井井有条,是提升学习效率的好途径

还难能可贵地结合了作者在实际业务中的微服务落地实践

本书是国内微服务方面少有的能够写这么详细的图书

可以帮助微服务相关人员构建知行合一的能力,

对设计开发分布式应用系统有很好的指导作用,

也是技术管理者技术选型的参考书


互联网行业的工程师就好比运动员,要想在竞技场上获胜,需要在训练场里长期刻苦地练习技巧,想要成为一个不被时代抛弃的技术人,就需要不断地更新迭代自己的知识体系。加油,读者们,共勉!



微服务化年来系统架构领域的一场重要变革,本书作者不仅从理论上带大家理解微服务,还难能可贵地结合了自己在实际业务中的微服务落地实践。

相信这些凝结了作者智慧的宝贵经验,会让有志于此领域的读者受益良多。

—祁宁 SegmentFault社区CTO,Typecho作者


微服务经过了长足的发展,在每个阶段所产生的信息都很多。在信息爆炸的当今,找到一本将信息梳理得井井有条的好书,是提升学习效率的途径。

本书层次分明,分为原理篇、实践篇阶篇,适用于广泛的人群。理论篇对新手入门友好,实践篇适合在工作中解决实际问题的开发者阶篇则面向响应式编程和云原生架构,是高手的技能。

—张亮 Apache Member,ShardingSphere PMC Chair


本书讲解了微服务架构落地过程中的领域驱动设计、服务注册与发现、负载均衡、限流熔断、网关和微服务监控等实战技巧,并从Service Mesh、Serverless、云原生等视角讲解了未来微服务架构的走向。本书值得一读,读者必定能从中取长补短,构建或补充自己的微服务架构知识体系。

— 《重新定义Spring Cloud实战》作者,
Spring Cloud中国社区(spring cloud.cn)创始人


本书结构清晰,从原理、实践阶三个方面对微服务架行深度解析。涵盖内容丰富,从领域驱动设计到微服务治理,从Spring Cloud生态到响应式微服务架构体系建设。如果你正行Java微服务架构设计,或者正打算快速学习基于Spring Cloud的微服务架构,本书将为你节省许多宝贵时间。

—黄勇 《架构探险》作者,前高级架构师


佩华的新书内容覆盖面广。从分布式系统到微服务架构,从Spring Boot到Spring Cloud的各种组件,从Docker到Kubernetes,从领域驱动设计到响应式编程和云原生开发,都有作者很多独到的见解。致力于微服务开发的工程师从中汲取并归纳为自己的知识,真是再好不过了。

—梁鑫 SIA开源项目创始人,互联网金融公司高级架构师


本书深入浅出地讲解了微服务的前生今世,包含了丰富的实践经验,对微服务架行了全面的解构,无论是广度还是深度都颇为经典,个人觉得踩坑复盘经验最为珍贵,也是国内微服务方面少有的能够写这么详细的图书。

—耿航 中国电子技术标准化研究院木兰开源社区运营负责人


本书对微服务的理论和实践,行了由浅入深的剖析,同时从技术体系的纵深出发,对微服务架构的技术行逐一拆解,指导实践落地。对于初识微服务的同学,可以较快地理解微服务,包括理念、概念、架构思想、边界等,在结合实践的同时快速上手微服务架构;对于的微服务玩家,这是一个完整的、体系化的复盘结,对于微服务架构的利与弊、架构处理衡行了详细的分解与剖析,有助于推动读者对架构的思考。

—张真 百信银行首席架构师

在云原生时代,微服务架构是企业PaaS化及中台建设的技能。本书系统地解析了微服务架构领域相关的理论知识、实践落地经验及技术发展趋势,可以帮助微服务相关人员构建知行合一的能力,对设计开发分布式应用系统有很好的指导作用,也是技术管理者技术选型的参考书。

—向江旭 美的集团IoT技术裁兼首席技术官


微服务是当前软件开发的发展趋势,越来越多的系统采用微服务方式构建。作者基于十余年的经验积累,深入浅出地介绍了微服务系统的原理、模式、实践,为我们构建微服务系统提供了有价值的指引和参考。我向大家推荐这本书。

—高崇 伦敦证券交易所集团高级技术专家


本书中的内容来源于作者多年的工作积累和实结,从理论到实践再阶,以全方位的方式对微服务的设计和应行了解读,能够让大家在日常开发工作中少走弯路,有很强的指导意义。

—王新栋 极客时间《OAuth 2.0 实战》专栏作者,京东技术专家

  作者简介
王佩华,毕业于天津理工大学,目前就职于京东公司,任架构师,从事多年金融及电信行业分布式系统架构的设计及研发管理工作。多项微服务领域专利的发明人,热衷于参与开源社区并了公司微服务项目的开源和推广,擅长通信协议设计、分布式中间件设计、高并发系统架构设计及云原生架构等。