重磅推荐
【产品特色】

【编辑推荐】
√ 微服务业界首著重装上阵,篇幅增倍,内容全面重写重构。

√ 打通微服务落地*后1公里,全力打造微服务实施参考模型。

√ 微服务演进实战:架构解耦→工程实践→部署运维→团队协作。

√ 累积Thoughtworks深厚技术底蕴,代表华为微服务领跑技术。


【内容简介】
微服务架构不仅延续了分布式系统与SOA 的特征,也汲取了DevOps、持续集成、持续交付等工程实践的成功经验,并正在借着云计算和容器化的春风开始其驰骋之旅。但是,微服务的落地并不像其概念描述的那样举重若轻,它不仅包括架构解耦,还涉及开发测试、部署运维、工程实践、团队合作与康威定律等多方面的因素,这些因素相辅相成,共同影响着如何高质量、快速地交付业务价值。本书是在第1 版的基础之上,基于作者近年来对服务化改造的实战经验和思考,并结合业界的技术趋势进行的一次体系化的精进。全书共分为3 部分,首先阐述了微服务架构的理论基础。其次介绍了微服务生态系统、实施参考模型以及*实践,并基于真实案例分析了遗留系统的服务化改造策略与应用场景。*后基于Apache 开源社区的微服务框架ServiceComb,设计并实现了案例SockShop 系统,从端到端交付的角度,指导读者完成服务的设计、开发、测试、流水线,以及自动化部署和运维体系的建立。本书不仅适合架构师、开发人员以及技术管理者阅读,也适合正在尝试向微服务架构迁移的团队或者个人。希望本书能够在微服务落地的工作中对读者有所帮助。
【作者简介】
王 磊
国内较早倡导和实践微服务的先行者,拥有超过十年的软件行业经验,在服务化架构、持续交付和DevOps领域有丰富的经验。著有国内较早的与微服务架构相关书籍《微服务架构与实践》,同时也是《DevOps实践指南》的译者、EXIN DevOps Master认证讲师和西安DevOps Meetup的联合发起人,现任华为公司高级架构师。

马博文
前ThoughtWorks咨询师,拥有多年Web开发和DevOps经验,熟悉持续交付、微服务、AWS和华为云。曾参与翻译《Scala编程实战》《DevOps实践指南》等书,是西安DevOps Meetup活动的发起人,现任华为公司高级工程师。

张 琦
一个酷好骑摩托车的佛教徒。在软件研发领域纵横十余载,现任华为公有云PaaS平台高级架构师。亲历了从IaaS到PaaS等云计算各个技术以及其对企业IT影响的过程。虽历尽艰辛却也收获颇多,看到云原生,微服务对传统开发方式,系统架构,乃至IT构建模式的影响之巨大和深刻远超前几年的各种技术。希望本书中的心得体会和一些实践经验总结,能对相关从业人员有所启发并帮助诸位更顺利地实践微服务技术。
【媒体评论】
随着数字化转型的推进,越来越多的企业开始尝试基于微服务框架构建和重构自己的系统,微服务实施不仅仅是微服务框架的技术选型和服务拆分,它涉及到方方面面,是一个系统化的体系工程。本书从架构演进、微服务拆分、接口契约测试,流水线构建到微服务实战,涵盖了微服务实施过程中的重要环节,是一本难得的系统化、全面介绍微服务的书籍,值得大家认真研读。
李林锋
《分布式服务框架原理与实践》《Netty进阶之路》作者

云计算现在已经广为人知,云模式也正在快速替换传统IT模式。为充分发挥云服务的优势,不同行业的应用都需要按照云原生(Cloud Native)方式进行构建和运维。传统企业和互联网企业在技术上的差异将逐步缩小并*终消失。微服务之于开发,就像容器之于运维,《微服务架构与实践》凝聚了作者们在微服务与DevOps领域多年的实践经验,这次再版更是把*技术发展和工作反思进行及时分享,相信大家都能从中得到不少收获。
方国伟
平安科技CTO兼总架构师

很荣幸能提前拜读王磊老师的微服务新书,本书从基础、策略,再到实战,每章所涵盖的知识点颇为丰富。期待这本书能尽快出版,帮助大家快速掌握微服务架构的核心,并轻松实现微服务。
黄勇
《架构探险》作者

王磊是国内微服务架构的先行者。既参与微服务相关基础组件研发,也指导微服务架构的实践落地,积累的这些经验使得王磊对微服务架构的理解更加深刻,更加体系化,也更加能够把握企业微服务架构转型的实际痛点并对此提出解决方案。相信本书能够为企业数字化转型带来切实价值,也感谢王磊对微服务架构在国内的推广所做出的贡献。
杨波
拍拍贷基础架构总监/极客时间《微服务架构和实践160讲》作者
【目录】
第1部分 基础篇
第1 章 微服务架构综述 2
1.1 软件架构发展历史 2
1.2 微服务的诞生背景 8
1.3 什么是微服务架构 15
1.4 微服务架构的本质 23
1.5 微服务架构的特征 28
1.6 微服务架构不是“银弹” 34
1.7 微服务架构与SOA 39
1.8 微服务与Serverless 40
1.9 微服务与Service Mesh 46
1.10 小结 53
第2 部分 策略篇
第2 章 微服务生态系统 57
2.1 为什么定义生态系统 57
2.2 微服务生态系统的核心内容 59
2.3 生态系统的工程实践 66
2.4 小结 73
第3 章 微服务关键技术 74
3.1 服务设计 74
3.2 服务治理 116
3.3 服务运维 131
3.4 小结 142
第4 章 微服务参考模型 143
4.1 为什么需要参考模型 143
4.2 参考模型的核心内容 144
4.3 如何使用参考模型 172
4.4 小结 183
第5 章 基于参考模型的实践 184
5.1 微服务团队 184
5.2 核心敏捷实践 192
5.3 服务设计与实现 198
5.4 运维管理 212
5.5 测试管理 235
5.6 交付流水线 269
5.7 部署管理实践 288
5.8 小结 333
第6 章 遗留系统的微服务改造 334
6.1 遗留系统综述 334
6.2 遗留系统改造策略 336
6.3 遗留系统改造场景 341
6.4 遗留系统改造案例 347
6.5 小结 354
第3 部分 实战篇
第7 章 微服务开发框架ServiceComb 356
7.1 ServiceComb 综述 356
7.2 Java Chassis 361
7.3 Go Chassis 详解 364
7.4 注册中心ServiceCenter 365
7.5 数据一致性框架Saga 372
7.6 小结 376
第8 章 微服务云应用平台ServiceStage 377
8.1 ServiceStage 综述 377
8.2 CCE 云容器引擎服务 379
8.3 CSE 微服务引擎 384
8.4 SWR 软件镜像仓库 386
8.5 AOS 编排服务 387
8.6 APM 应用性能管理 389
8.7 小结 391
第9 章 SockShop 系统分析与设计 392
9.1 系统综述 392
9.2 需求理解与分析 395
9.3 服务划分与设计 396
9.4 架构设计
【前言】
本书的结构

本书一共分为3 个部分,分别是基础篇、策略篇和实战篇。基础篇为第1 章,主要介绍微服务架构相关的基础知识。该章首先介绍软件架构的演进史;其次阐述了微服务出现的背景、定义、特征及落地时面临的挑战;同时分析了微服务与SOA、Serverless 的关系;*后介绍了微服务领域Service Mesh 的兴起。阅读的重点为理解微服务的本质特征、挑战并了解Service Mesh。

策略篇包含第2 章至第6 章,主要介绍了微服务生态系统、微服务关键技术、微服务实施参考模型以及基于参考模型的实践,并在本篇*后的部分阐述了遗留系统改造的策略与案例。

第2 章首先介绍了微服务生态系统,并围绕生态系统阐述微服务实现中涉及的接入层、业务层、支撑层及基础设施。同时,也强调了开发框架、交付流水线与工程实践的重要性。阅读的重点是理解微服务生态系统的核心,系统化地思考微服务架构的演进过程(不仅仅是服务拆分),并在演进中持续提升团队能力。

第3 章的内容是对第2 章内容的延伸,详细介绍了微服务的设计(服务划分策略、服务设计模式、内部实现结构等)、微服务治理(负载均衡、注册发现、容错机制等)的原理及方案、服务运维(监控告警、日志聚合等)的实践等。第3 章内容的重点是微服务的划分策略、服务设计模式以及服务治理。一直以来,如何有效拆分服务是很多朋友在微服务落地过程中遇到的一大挑战,希望该部分的内容能为读者提供一些思路。

第4 章是策略篇的核心内容,详细介绍了微服务参考模型的3 个方向、8 个维度与5个阶段,同时梳理出在微服务落地过程中,如何借助结果类、过程类两类指标获取反馈并持续改进。需要注意的是,模型中提到的阶段定义以及度量指标,是笔者基于过往的项目经验所总结,不一定能完全适用于所有项目,希望读者能在此基础上,制定适于团队的参考指标。

第5 章基于参考模型总结了持续交付、部署运维、全功能团队等多个维度下的工程实践。虽然该部分的介绍可能涉及一些具体的工具(如RPM、FPM、Koji 等),但建议读者将把更多的注意力放到实践本身。工具是具体的,但实践是普世的。读者朋友可以基于这些实践举一反三,结合不同的工具、平台助力微服务的落地。

第6 章阐述了遗留系统的不同改造策略及应用场景,并用基于笔者亲历的一个案例阐述了遗留系统的改造思路和服务化演进过程,希望能为正在对遗留系统进行改造的读者提供启发。

实战篇包含第 7 章至第 13 章,在前两部分的基础上,基于开源的微服务框架ServiceComb 以及华为云ServiceStage 设计和实现了SockShop 系统,同时基于ServiceStage提供的流水线,将SockShop系统以持续交付的方式部署在公有云上。另外,使用ServiceStage提供的运维服务,对SockShop 系统进行监控、告警和日志聚合。

第7 章介绍了ServiceComb 的特性、原理,注册中心的设计以及数据一致性解决方案Saga 的设计。读者既可以学习到如何快速开始实施ServiceComb 项目,也能深层次地了解其背后的设计原理与细节。

第8 章主要介绍了华为云ServiceStage 提供的相关服务。

第9 章分析和设计了SockShop 系统,并进行了服务设计、技术选型以及环境准备,确保在后面的章节中,能快速进行服务的开发、测试、持续集成和自动化部署。

第10 章介绍了使用ServiceComb 和Java Chassis 实现*个微服务,并搭建端到端的开发、测试、验证、持续交付流水线,同时应用了多个维度下的工程实践。

第11 章介绍了如何实现SockShop 系统的其他服务,并通过Service Mesh 的机制,将用户界面服务接入SockShop 系统。

第12 章介绍了SockShop 系统的服务编排。通过使用定义好的TOSCA 模版上,基于ServiceStage 的编排服务,快速地进行SockShop 系统的自动化部署。

第13 章介绍了ServiceStage 提供的APM 相关服务,并基于APM 对SockShop 系统进行运维。

阅读指南

本书每个部分,甚至很多章节的内容都相对独立,读者可以按顺序阅读,也可以选择不同的章节直接阅读。我们将读者对微服务的了解分为三个阶段,初学阶段、中级阶段和高级阶段,处于不同阶段的读者可以按照下面的阅读指南来选择性地阅读本书。

— 初学阶段:可以先阅读第1 部分了解微服务相关的基础知识,然后阅读第3 部分,尝试自己动手实现微服务,搭建流水线并部署微服务,有所体会后再回过头查看第2 部分的内容。

— 中级阶段:可以先阅读第1 部分中微服务的*进展,如Service Mesh 等,然后阅读第2 部分的内容,*后选择性地阅读第3 部分的内容。

— 高级阶段:选择性地阅读第1 部分中微服务的*进展,然后阅读第2 部分的参考模型以及实践的章节。如果对ServiceComb 框架感兴趣,也可以阅读该部分的设计与实现。

本书中的DevOps

在本书的基础篇中,笔者提出微服务的本质是“以缩短交付周期为核心、基于DevOps的演进式架构”,可以看出在微服务的落地过程中,与DevOps 是相辅相成的。另外,在策略篇中,本书提到的很多实践也是和DevOps 提倡的“CALMS”理念相吻合的。但本书并不是一本探索如何实施DevOps 的书,更多的内容还是从架构、工程以及组织等维度阐述如何有效落地微服务。如果读者希望系统地学习DevOps,建议参考其他DevOps 类的相关书籍,如《DevOps 实践指南》或《DevOps 实施手册》等。

本书的源码

本书中提到的源码,可以通过正文后的“资源列表”中的地址获取。


返回顶部