猜你喜欢
微服务治理:体系、架构及实践

微服务治理:体系、架构及实践

书籍作者:李鑫 ISBN:9787121389153
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3143
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

微服务架构会给企业的整个研发体系,包括开发、运维、团队组织、协同,都带来冲击,企业必须构建起一整套以服务治理为核心、从线下到线上的新的能力体系来保障微服务架构顺畅落地。本书是作者在服务及微服务治理领域多年探索和实践的总结,从微服务的度量、管控和管理三个维度入手,力求构建一个覆盖微服务线上及线下的广义的治理体系。全书内容翔实,层次清晰,涉及服务治理的发展历史、难点和特点,微服务治理的关键技术,深度治理能力的构建等,还通过一个完整的涵盖指标采集、传输、存储、分析度量的实战案例,帮助读者掌握微服务治理的核心能力,并应用到实际工作中。

尤其难得之处在于,本书不仅系统讲述了微服务治理的方方面面,还包含大量作者亲历的真实案例,融入了其技术“世界观”和经验,深入浅出、耐人寻味。

本书适合架构师、技术管理者和有一定基础的技术人员阅读,尤其适合已进入或即将进入服务化和服务治理领域的相关人员阅读。希望本书能够为读者提供一些启发和指引,让大家少走弯路。


作者简介

李鑫

★具有多年大规模复杂系统架构经验,在大规模分布式应用及治理、中间件云化及服务化(PaaS)、APM监控、基础开发平台、主数据管理(MDM)、数据治理等领域有较深的理论研究和实战经验。

★目前在金融行业负责基金直销平台的整体技术架构和研发团队管理。曾任华为六级技术专家,主导了华为软件多款云计算产品和服务的设计规划和构建工作。曾任运作产品平台技术负责人,负责电商仓储、物流、客服等平台的整体技术架构和研发团队管理。更早之前曾在航空、导航、金融、电信等领域从事企业级应用的架构设计和技术管理工作。

★乐于分享技术,拥有一个分享技术文章的公众号——“码码的土狼”,更新频率很随意。曾在QCon、ArchSummit等技术大会上做技术演讲,多次获得“明星讲师”及“优秀出品人”荣誉称号。


编辑推荐
适读人群 :本书适合架构师、技术管理者和有一定基础的技术人员阅读,尤其适合已进入或即将进入服务化和服务治理领域的相关人员阅读。希望本书能够为读者提供一些启发和指引,让大家少走弯路。

★ 微服务治理首著

★ 集作者多年大规模复杂系统架构经验之大成

★ 以服务治理为核心讲述从线下到线上的治理体系

★ 带你进入微服务深水区,让微服务架构顺畅落地

★ 本书不仅包括微服务治理的关键技术

★ 还包括深度治理能力的构建等

★ 更有含指标采集、传输、存储、分析度量的完整实战案例

★ 实用性强,是一本面向架构师的不可多得的实战类好书

★ 读者可快速掌握微服务治理核心能力,并应用到实际工作

如果你的系统越来越乱,那么可以借鉴本书,重建治理体系,由乱而治。

如果你的系统刚刚起步,那么本书能够让你少走弯路,从一开始就兼顾治理,让一切尽在掌握。


前言

序1

未来10年是各行各业数字化转型的关键10年。数字化转型将帮助企业打破原有IT系统的烟囱状布局,解决IT应用数据孤岛问题,实现数据集中管理共享,从而为企业降低成本、提高运营效率、加快产品创新提供平台和技术保证,使企业在市场竞争中获得优势。

为数字化转型提供保证的平台和技术就是我们常说的云化服务化数字平台,它通过云计算、大数据、物联网、移动互联网、人工智能等技术,把企业IT应用的公共能力统一,进行服务化改造,形成技术中台、数据中台、业务中台等一系列中台能力,并以服务的形式开放给各应用系统。这就涉及服务的定义、服务的架构设计、服务的开发、服务的治理等一系列问题。

李鑫在华为期间,是华为中间件团队从SOA向云分布式架构转型的重要参与者,是PaaS分布式服务化的主导者之一,曾基于运营商客户的应用场景,根据华为大型电信软件的系统要求,参与了华为分布式服务化的系统设计和软件开发工作,促进了华为软件分布式服务化技术的进步。

离开华为后,李鑫加入互联网公司,继续投入服务及微服务的探索和实践中,同时在国内各技术大会上积极分享微服务开发和实践的经验,向业界同行学习,与行业顶尖专家切磋。

本书是李鑫在服务及微服务上多年探索和实践的总结,内容翔实,层次清晰,涉及服务治理的发展历史、难点和特点,微服务治理的关键技术,深度治理能力的构建等,还辅以一个完整的实战案例。本书可以帮助读者掌握微服务治理的核心能力,并应用到实际工作中。

是为序!

陈沂洲

华为中间件团队原研发总监


序2

有为而治

——平衡吞噬世界的软件之熵

任何系统的可持续发展都需要与之相匹配的治理能力。在人类文明演进的过程中,技术是第一生产力,管理则是不可或缺的软实力,两者刚柔相济,从而使得政治、经济、军事、社会形成高效可控的体系。进入21世纪以来,软件代码借由互联网、云计算、人工智能、VR/AR、物联网等技术正在“吞噬”整个世界,大规模复杂系统成为社会运转的基础设施。随着应用的功能不断增强,服务粒度越发精细,系统规模更加庞大,技术架构更加复杂,技术团队持续“膨胀”,软件之熵急剧增长,相应的治理体系在实践中迭代演进,日趋成熟。

大平台、微服务架构之下,服务治理能力至关重要。衡量系统成熟度的主要标准是非功能性指标,如稳定性、安全性、可维护性、可扩展性等。系统架构从单体到分布式,再到微服务、云原生,甚至混合云,管理复杂度显著提高。解耦分治的系统更需要全局维度的服务治理能力,且必须依靠系统管理系统,实现代码即文档,系统即规范。千里之堤,溃于蚁穴,一旦有所忽视,不能以规范化、过程化、数据化有效地治理,系统就将迅速腐化,轻则留下技术债务,重则沉疴难起,无药可救。软件系统固然有其生命周期,但因治理失效导致不可持续则无疑是一种失败。

李鑫老师将他在微服务治理领域多年实践的心得结集成书,填补了这方面技术图书的空白。李鑫老师从业十余年,历经数个行业,在多个领域都拥有丰富的实践经验。我有幸与他在当当共事,合作重构项目,结下了深厚的革命情谊。李老师非常热情,乐于分享,在很多技术大会上分享技术“干货”,特别受欢迎,多次获得“最佳讲师”的荣誉称号。更为难得的是他一直深入钻研技术,公众号自称“土狼”,可见骨子里自有“狼性”。本书专注于服务治理,内容系统全面,涵盖发展历史、体系构建、实例详解。如果你的系统越来越乱,那么可以借鉴本书,重建治理体系,由乱而治。如果你的系统刚刚起步,那么本书能够让你少走弯路,从一开始就兼顾治理,让一切尽在掌握。诚然治理也有成本,需与实际收益匹配,合适的才是最好的,过犹不及。水火相济,阴阳相契,平衡乃中庸之道的最高境界,做系统须有系统化思维。

作为系统创造者,面对软件之熵,当制之以衡、行之有度,使之增减有序,有为而治,方显能者本色!天高海阔,大有可为,而修齐治平,当身体力行,与诸君共勉!

史海峰

公众号“IT民工闲话”作者,贝壳金服小微企业生态CTO


前 言

近几年,微服务的热度居高不下,企业纷纷向微服务架构转型。但是大部分企业缺乏服务治理意识,以为所谓的微服务化就是简单地引入一套微服务框架,对微服务架构给整个研发体系带来的挑战预估不足,导致在开发、运维、测试、团队协同领域都遭到了微服务的“反噬”,其结果是研发效率和质量不升反降,转型之路备受质疑。毫不夸张地说,服务治理能力的缺失是企业将微服务架构从“能用”做到“好用”的最大的“拦路虎”。

我最早接触服务治理这个概念大约是在2006年。当时我主要从事金融、电信、政府相关的企业级项目开发工作,与IBM公司有大量的接触,得以深入了解IBM公司面向SOA所提出的SGMM相关标准和规范。对服务治理的第一印象是其涉及的领域太广,水太深,就像一场“暗夜长征”,只有找到正确的治理方向,才能坚持到底,看到胜利的曙光。随着工作的变迁,我陆陆续续在导航、航空、电商等行业中从事了一些服务化和服务治理相关的设计及开发工作,但不是特别成体系。直到去了华为,当时华为电软开发了自己的分布式微服务框架DSF,但在推广过程中遇到了线上服务运维管控、线下开发效率、交付质量等一系列相关问题和挑战,迫切需要进行服务治理。作为项目的总架构师,我全程领导了治理项目及配套的研发工具套件集的架构设计和开发落地工作。这是我真正意义上全面主导一个服务治理技术体系的构建,从这个项目中我收获了非常多的经验和教训,并形成了个人面向微服务治理领域的完整技术体系。

从2017年开始,我在QCon、ArchSummit等技术大会及线下技术沙龙上做了一系列关于服务化和服务治理的技术分享与交流,也给一些企业提供了服务治理的咨询服务。在一次深圳的技术大会上,碰到了电子工业出版社博文视点的董英老师,由于目前市面上还没有系统讨论微服务治理的专业书籍,董老师劝我写一本这方面的专著。当时自感写书责任重大,只是谨慎表示会好好考虑,但写书的想法已经萌生了。

在其后的半年多时间里,我不断思考这本书的大纲,如何写才合适呢?微服务治理是一个完整的体系,不只是技术和经验的拼凑,想要讲清楚微服务治理,就应该展现体系全貌。因此本书从微服务的度量、管控和管理三个维度入手,力求构建一个覆盖微服务线上及线下的广义的治理体系,同时将我的技术“世界观”和经验融入其中。基于此,我规划了全书的大纲,于2018年年底正式开始了本书的写作之旅。

我平时也写一些公众号的文章,但真正动笔写书的时候才发现,写书和写公众号完全是两回事。写书在体系性和严谨性方面要求都更高,我需要阅读大量文献资料,结合自身经验和认识,总结知识、提炼观点,再形成体系,对所写内容反复斟酌、小心求证,尽力做到表述精准。写书的过程也是对自己的知识体系全面深入梳理的过程,它让我在服务化和服务治理这个领域的技术“世界观”不断完善并趋于完整。整个过程就是精神和体力上的“双重马拉松”,虽然很辛苦,但我很享受这个过程!这是我对技术社区进行反哺的一步,我相信这绝不会是最后一步。

本书结构

l 第1、2章全面阐述服务治理的发展历程,以及“大平台、微服务”架构下服务治理的难点及特点;提出由微服务的度量、管控及管理构建起一个三位一体的闭环体系,从而综合解决微服务全生命周期的现实治理问题;同时阐述治理体系所涉及的相关细分领域及技术能力。

l 第3、4章重点介绍微服务的线上治理能力;通过微服务治理的度量指标体系及指标采集、存储、分析手段构建微服务度量能力,并在此基础上,通过微服务的健康度分析、故障定界定位、容量规划、根因分析、趋势预测等来构建针对微服务的“看”的能力;通过限流、降级、容错、弹性伸缩、安全管控等手段来构建微服务的“管”的能力;同时通过应急预案、故障演练、混沌工程等来提升线上微服务的可靠性。

l 第5章介绍通过APM及动态调用链跟踪来提升微服务的监控及度量能力。

l 第6章介绍微服务深度治理能力的构建,将微服务的治理“延升”到架构、开发、测试、运维、团队协同等各个领域,从而实现微服务架构在组织中从“用得了”到“用得好”的提升;同时将服务治理能力反哺给业务,实现技术和业务的良性互动。

l 第7、8、9章是实践部分,通过一个完整的涵盖指标采集、传输、存储、分析度量的实战案例引导读者深入地理解微服务治理的度量能力的构建。

读者对象

本书适合技术管理者、架构师和有一定基础的技术人员阅读,尤其适合已进入或即将进入服务化和服务治理领域的相关人员阅读。希望本书能够为读者提供一些启发和指引,让大家少走弯路。

示例源码

请读者购买图书后,仔细阅读前言,获取相关信息。

致谢

在写作本书的一年多时间里,我基本没有节假日和业余休息时间。在此感谢家人,是他们给予我的包容和全力支持让我得以专心写作。尤其要感谢我的爱人,除照顾我的生活外,还帮我做了大量的文章校对及内容梳理工作,没有她的支持和鼓励,我是无法完成本书的。

感谢电子工业出版社的董英老师和相关工作人员为本书的出版付出的努力。


目录

第1章 服务及服务治理发展简介 1

1.1 IT治理与服务治理的关系 1

1.2 服务治理发展历史 2

1.2.1 单体架构及治理 2

1.2.2 企业SOA——EAI/ESB及治理 8

1.2.3 分布式服务及治理 17

1.2.4 微服务及治理 23

1.3 微服务治理的范畴 25

1.3.1 微服务是一种研发模式 25

1.3.2 微服务的架构模式及治理 26

1.3.3 研发治理 29

1.3.4 测试治理 32

1.3.5 运维治理 34

1.3.6 管理治理 38

第2章 微服务治理技术概述 44

2.1 微服务架构 44

2.1.1 代理模式 45

2.1.2 直连模式 46

2.1.3 边车模式 48

2.1.4 直连模式的架构特点 50

2.1.5 微服务全生命周期整体架构 54

2.2 服务度量 56

2.2.1 服务开发质量度量 56

2.2.2 服务测试质量度量 65

2.2.3 服务运维质量度量 68

2.2.4 服务线上性能度量 69

2.3 服务管控 79

2.3.1 微服务的内部管控 79

2.3.2 微服务生命周期管理 81

2.4 三位一体:通过度量、管控、管理实现微服务治理闭环 87

2.4.1 治理指标体系 87

2.4.2 治理度量与分析 91

2.4.3 通过管理将治理举措落地 99

2.4.4 微服务治理整体架构 100

第3章 通过服务度量提供治理依据 102

3.1 线上微服务度量核心指标及分析手段 102

3.1.1 点:单次请求指标采集 103

3.1.2 线:单服务一分钟指标叠加统计 104

3.1.3 面:单服务时间维度汇总统计 106

3.1.4 体:服务及资源指标聚合分析 106

3.2 服务关系维度 108

3.2.1 治理目标 108

3.2.2 服务基础视图 108

3.2.3 服务调用关系视图 111

3.3 应用关系维度 115

3.3.1 治理目标 115

3.3.2 应用调用关系视图 116

3.3.3 以应用为中心的运维统一视图 118

3.4 服务性能维度 119

3.4.1 治理目标 119

3.4.2 调用耗时分区分布统计 120

3.4.3 调用耗时分时分布统计 121

3.4.4 调用量/并发量分时分布统计 122

3.4.5 性能横比 123

3.4.6 性能纵比 126

3.4.7 综合性能分析 130

3.4.8 容量规划 131

3.4.9 动态阈值 136

3.4.10 趋势预测 138

3.5 服务异常维度 144

3.5.1 治理目标 145

3.5.2 实时异常报表 146

3.5.3 异常分布报表 146

3.5.4 异常列表及查询 149

3.5.5 故障定界定位 150

3.5.6 智能根因分析 152

3.5.7 业务异常分析 155

3.6 资源维度 157

3.6.1 治理目标 158

3.6.2 网络资源 158

3.6.3 数据库资源 159

3.6.4 其他资源 161

3.7 服务综合度量 161

3.7.1 服务重要性度量 162

3.7.2 服务健康度度量 163

第4章 通过服务管控实现治理闭环 166

4.1 分布式服务鲁棒性的架构保障 166

4.1.1 冗余 167

4.1.2 弹性伸缩 167

4.1.3 单点无状态 168

4.1.4 不可变基础设施 168

4.1.5 故障传导阻断 169

4.1.6 基础设施即代码 169

4.2 服务负载 170

4.2.1 随机策略 170

4.2.2 轮询策略 173

4.2.3 最近最少访问策略 176

4.2.4 黏滞策略 177

4.2.5 一致性Hash策略 178

4.2.6 组合策略 179

4.3 服务限流 179

4.3.1 概念 180

4.3.2 限流模式 181

4.3.3 限流的难点及注意事项 186

4.4 服务集群容错 187

4.4.1 服务集群容错的概念 187

4.4.2 快速失败 188

4.4.3 失败安全 189

4.4.4 失败转移 190

4.4.5 失败重试 192

4.4.6 聚合调用 194

4.4.7 广播调用 197

4.5 服务降级 198

4.5.1 概念 198

4.5.2 屏蔽降级 199

4.5.3 容错降级 200

4.5.4 Mock降级 202

4.5.5 熔断降级 203

4.5.6 延伸阅读:广义降级操作 206

4.6 服务授权 207

4.6.1 自主授权 207

4.6.2 注册中心授权 210

4.6.3 第三方服务授权 211


短评

之前听过作者的讲座,对某基金和~的技术真是佩服得五体投地。看了这本书的目录,就感觉内容沉甸甸的,内容之广之深,令人叹为观止。不愧是大厂的大牛架构师,努力向作者学习,争取早日成为一个合格的架构师!!!!!?

2020-06-05 17:47:17

公司CTO之前在QCon大会上听过作者的分享,评价很高。 这次让买了一批,给内部的开发团队各配了一本,希望有用!

2020-06-06 13:34:27

拿到书一看,真是干货满满,关键现在还有活动,50块,超值啊! 大家都知道微服务不好落地,关键就是服务的治理,这本书给出了一个非常完整的治理体系。正如作者所说,微服务架构会给企业的整个研发体系,包括开发、运维、团队组织、协同,都带来冲击,这本书里都给出了解决方案。如果你是认真做微服务的,一定要看看这本书。其中还融入了很多作者的价值观,向大佬学习!架构师必须读一下 微服务的下半场就靠它了?

2020-06-02 15:04:12

产品特色