序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章是实践部分,通过一个完整的涵盖指标采集、传输、存储、分析度量的实战案例引导读者深入地理解微服务治理的度量能力的构建。
读者对象
本书适合技术管理者、架构师和有一定基础的技术人员阅读,尤其适合已进入或即将进入服务化和服务治理领域的相关人员阅读。希望本书能够为读者提供一些启发和指引,让大家少走弯路。
示例源码
请读者购买图书后,仔细阅读前言,获取相关信息。
致谢
在写作本书的一年多时间里,我基本没有节假日和业余休息时间。在此感谢家人,是他们给予我的包容和全力支持让我得以专心写作。尤其要感谢我的爱人,除照顾我的生活外,还帮我做了大量的文章校对及内容梳理工作,没有她的支持和鼓励,我是无法完成本书的。
感谢电子工业出版社的董英老师和相关工作人员为本书的出版付出的努力。
小白lee 2020-06-05 17:47:17
之前听过作者的讲座,对某基金和~的技术真是佩服得五体投地。看了这本书的目录,就感觉内容沉甸甸的,内容之广之深,令人叹为观止。不愧是大厂的大牛架构师,努力向作者学习,争取早日成为一个合格的架构师!!!!!?