正版保障 假一赔十 可开发票
¥ 53.65 5.4折 ¥ 99 全新
库存5件
作者任钢
出版社电子工业出版社
ISBN9787121368721
出版时间2019-08
装帧平装
开本其他
定价99元
货号27922040
上书时间2024-11-01
推荐序一
随着互联网技术的迅猛发展,各类应用系统复杂度逐渐增加,对服务所能提供的高并发性的要求越来越高,产品开发难度,项目部署、管理和维护成本也在逐渐增加。可传统的单体架构却无法快速适应这种变化,同时企业的软件开发也遇到了发展瓶颈。在业务方面,业务需求越来越庞大,业务功能越来越复杂,单体架构开发的风险和成本也越来越高,但是老系统需求变更困难,业务扩展性差,应用间耦合严重。在技术方面,原有系统代码陈旧,维护非常困难,缺少信息安全方面的保障。在管理方面,组织结构不断变化,团队需要快速响应需求。针对企业面临的这些问题,微服务架构应运而生,它可为敏捷部署及复杂企业应用开发的实施提供巨大的支持。
在新技术背景下,本书作者较早开始在国内指导传统企业进行新一代技术架构的建设,以科技驱动的思维、循序渐进的步骤,系统地构建企业云原生的几个技术体系——DevOps、微服务、容器云,从而实现以科技引领企业的发展,推动企业更加敏捷地参与到开放的生态建设中。
本书融入了作者20多年的IT开发和架构经验,以及指导企业数字化转型的经验,包含了3个层次的核心内容:个层次的核心内容是微服务的技术体系,第二个层次的核心内容是微服务的业务体系,第三个层次的核心内容是微服务的管理体系,终实现科技驱动业务的宏愿。大道至简,本书采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、业务架构、管理整合和规划实施。本书适合IT公司的资深架构师、企业的CTO和CIO等人群阅读和学习,相信能给企业基于微服务的新一代架构建设带来很大的帮助。
博时基金管理有限公司
信息技术部总经理
车宏原
推荐序二
随着敏捷、精益、持续交付等思想深入人心,以及DevOps 文化的快速发展,传统应用无法快速适应变化,微服务架构应运而生,它是多重因素推动下的必然产物。相对于传统应用,微服务强调灵活、快速开发,扩展性强,特别适用于互联网和云计算架构下的用户需求个性化、产品周期缩短等情况。
微服务架构是面向服务架构(Service Oriented Architecture,SOA)思想的一种实现,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。微服务架构采用一组服务的方式来构建一个应用,每个服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信。服务可独立进行扩展、伸缩,每个服务定义了明确的边界,可以由独立的团队来维护。近年来,微服务架构应用的成功案例不断出现,例如,国外的Twitter、Netflix、Amazon和eBay等公司都已经从传统企业架构迁移到微服务架构。微服务架构在业务能力、自动化部署、智能端点、语言和数据的去中心化控制等方面,已经形成了某些普遍特征,这些特征都是未来架构的发展方向。
金证公司(全称是金证科技股份有限公司)作为国内金融科技的领军企业,高度重视金融科技创新。近年来,金证公司持续加大对云计算、大数据、区块链、人工智能等创新技术领域的科研/研发投入,矢志让新技术、新产品在行业内得到更广泛的应用,从而用更高效的科技手段提升传统金融效率、服务金融创新。为了满足金融行业用户日益增长的定制需求和快速、便捷的使用需求,应用软件的开发正变得越来越复杂,这就要求大型金融行业应用系统必须采用更敏捷的方式进行构建。借助微服务架构的模块化、可扩展、高可用等优势,金证公司已经在行业内落地了多个微服务应用案例,积累了不少行业微服务架构应用经验。目前,金证公司内部有更多不同应用场景的系统正在采用微服务架构进行重构实践。在此过程中,针对微服务分布式架构复杂性对金融行业应用开发与运维所带来的管理上的挑战,金证公司也在与业内专家一起积极探索解决之道。
本书的特点是采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、业务架构、管理整合和规划实施。本书没有针对某个微服务技术或框架用法进行细节说明,而是针对微服务整体领域进行阐述,同时在微服务的实践、验证、落地等方面提出了独到的见解。本书可供技术公司的CTO、CIO等人群阅读。由于这些岗位上的读者已经不在一线工作,对于一线出现的各种名词和概念,可能在细节上感到模糊,本书提纲挈领地阐述了微服务的体系架构,让IT行业的领导者可以从一个新高度迅速地了解和掌握整个微服务的状况,进而在战略层面上做出适合公司或组织的微服务的决策。
金证科技股份有限公司 技术副总监
金证科技股份有限公司技术委员会 副主任
蔡林山
自序
为什么要写这本书?这可能与我的经历和接触到的一些事情有关。
2014年算是微服务元年,我接触微服务晚一些,大概是在2015年。因为以前从事过架构工作,对SOA也有一定的研究,所以刚接触微服务时,同很多架构师一样,反应就是——这不就是SOA的一个变种吗?无非就是把服务的颗粒度放小而已。后来在具体了解和应用微服务技术的过程中,才知道其实两者还是有非常大的区别的。
虽然接触微服务晚一些,但是在实际工作中,我却无意间利用微服务原理解决了一些实际问题。2012年,我工作的单位有一个多服务的产品系统,这个产品系统是一个实时7×24小时系统,对于稳定性、可靠性、实时性和可追溯性的要求非常高,而且在某段特定的时间内还会出现类似“秒杀”的业务场景。可是该产品系统内多种服务混杂,业务逻辑代码和技术代码互相渗透,这导致调试、测试、实施都非常困难,尤其是一旦出现了Bug,非常难以定位,以及新增一个需求,比“登天”还难。于是我把这些业务按照组件化模式进行了拆分,当时主要是从技术层面上解决问题,首先把消息服务器、业务服务器、接口服务器、应用系统分开,实现了几个服务器的物理隔离,应用之间通过消息机制进行交互,从理论上杜绝了各个程序代码的交叉渗透,实际上这可以看作抽象地拆分服务的行为。通过这种处理,各个服务应用各司其职,而且当时这项技术还被授予了一项发明专利(授权编号为CN103731479B)。除此之外,在具体的工作中还存在着一个业务场景,当时单位的产品要外接其他厂商的多种接口业务,而外部多变的接口协议与内部稳定、可靠的逻辑实现之间存在矛盾。为了解决这对矛盾,我设计了一个网关,其主要作用是隔离外部与内部接口,松耦合内部与外部关系,通过插件机制进行扩展,网关的功能是实现协议的转换以适配操作行为、代理路由、异步缓存等,这项技术也被授予了一项发明专利(授权编号为CN103944814B),其实这就是微服务的API网关内容。
微服务刚出现时资料非常少。后来微服务发展起来了,各种名词和概念也“横空出世”,一方面让人感到眼花缭乱,另一方面也使很多用户手足无措,不知从何入手。截至目前,市面上已经有很多微服务相关的书籍,都非常不错。其中大部分书籍都是从一个方向或者一个技术点去描述微服务的,从某个方向或某个技术点来说,它们都非常有价值。可是我们不仅应该了解微服务的这些内容,还应该从整体上了解和把握微服务,知其然更要知其所以然。这正是我写这本书的初衷。
本书主要是从整体系统的角度介绍微服务体系结构的,对于每个组成部分的具体实现,没有进行深入的说明和解释,因为每个具体模块的资料和书籍都很多,这些也不是本书重点讨论的内容。另外,本书中也针对某个具体关注点进行了一些深层次的描述和说明,但这主要是为了更好地诠释整体的概念和结构。
通过阅读大量的资料,我学习了很多知识,结合自己20多年的工作经验,经过多轮的反思和总结,终形成了本书。从事IT工作多年,我经历了一个又一个技术时代,从一个平台看到了另一个平台。在这个过程中很多同行都脱离了这支队伍,而我还在努力坚持着。
在此,我要感谢家人对我的理解和支持,感谢我的妻子多年来对家庭的付出,同时也要感谢我的两个女儿在我撰写书稿的时候没有影响我,以及感谢我的父母,我把这里的一切都献给他们。我还要感谢本书的编辑们,没有她们耐心的指导和完善本书内容,这本书也许只是一个读书笔记。后,我要感谢那些在我编写本书的过程中帮助过我的所有人,他们都是默默无闻的后台工作者。
任 钢
2018年12月于广东深圳
前言
读者对象
本书适合希望从初级技能水平提升到高级技能水平的读者阅读。只要是对微服务感兴趣,并且想在这方面获得更多知识或者有更多想法的人们均可使用本书。
初级读者,是指接触或使用过微服务框架,有微服务应用经验的软件开发工程师、需求分析师、运维工程师等,同时也包括一些对微服务感兴趣的学生。本书可以作为大学、培训中心微服务方面的教材或课外读物。
中级读者,是指有丰富开发经验的软件开发工程师、需求分析师、运维工程师等。这些读者可以在本书中获得更全面的认识,全面地、整体地、辩证地、系统化地认识微服务。
高级读者,是指有丰富经验的架构师和分析师。这些读者可以通过本书从更深层次去理解微服务的本质和核心,以及如何游刃有余地解决实际工作中的架构问题。
本书也适合IT行业管理者,如CTO、CIO、技术总裁、技术总监、研发总监、信息总监等。通过了解微服务的整个蓝图,IT管理者可以在企业或组织微服务体系建设中做出高质量的决策。
本书尤其适合那些在微服务领域有一定经验的工程师,可满足其需要进一步拓宽视野、提高层级的要求。
本书定位
本书采用理论结合实际的方式,针对具体问题进行分析,并进一步解决问题。因此,本书是一本实践和操作性很强的书籍。本书既可以作为学习微服务的教材,也可以作为架构师的参考手册。
本书从整体上讲述微服务的技术、架构、框架、业务整合、管理整合和规划实施。书中存在对某个领域的细节描述,但只是为了论述整体结构范畴而提供的具体案例论据。因此,看完本书后,读者会对微服务有一个整体、深层次、体系化的认识。对于市面上大部分的微服务框架的资料或书籍,读者可以分门别类,根据自己具体要解决的细节问题,有的放矢地去寻找相关的资料和书籍来进行学习。
本书不是一本入门书籍,阅读本书需要具备一定的基础知识,否则,有些术语和解释还是比较难理解的。读者好具有一定的计算机基础知识,例如,分布式、容器技术、软件工程、项目管理、软件架构知识等,这样才能有更大的收获。
如何使用本书
本书可以为不同层次的微服务使用者提供指导和帮助。
初次采用微服务框架的读者,可以从整体上了解整个微服务的大致轮廓和状况,然后选择自己比较感兴趣的内容进行阅读。初步了解微服务的总体概况后,针对自己的专业和实际工作要求,有的放矢地进行“专攻”。
中级层次的读者,也许有非常丰富的微服务应用经验,也许在应用某个微服务框架方面娴熟无比。在本书中,这些读者可以拓展自己的知识面、开阔自己的视野,在思维上进行整合并融会贯通,抽象出自己的概念和体系。中级层次的读者通过对本书的学习,可以在归纳和总结方面上一个新的台阶,达到更高的抽象层次,从工具使用者转变为方法的传播者。
高层次的读者,也许在微服务方面有深度的思考,也许在技术层面上不存在任何问题,那就在微服务整体规划上、在业务分析上、在实践落地上或者几个体系的完美整合上,进行一些深层次的提高。
同时,现阶段在微服务领域中还存在很多课题属于真空区,本书也给出了一些线索,期待着资深专家去深入研究和实践印证。
IT行业的领导,主要是指技术公司的CTO、信息化公司的CIO等,这些管理者由于已经不在一线工作,对于一线工作中出现的各种名词概念,可能在细节上还是有点模糊,而本书提纲挈领地阐述了微服务的体系架构,这就可以使IT行业的领导从一个新高度迅速地了解和掌握整个微服务的状况,然后在战略层面上做出适合公司或组织的微服务体系建设的决策。
本书结构
本书主要包括5个部分:第1部分微服务体系概述、第2部分微服务技术体系、第3部分微服务业务体系、第4部分微服务管理体系和第5部分微服务体系建设实践,共12章。
本书的讲解顺序:首先介绍了微服务体系的基础知识,使读者了解微服务体系不是一门技术,不是一个项目,也不是一种管理手段,而是一套体系,一个覆盖了技术层面、业务层面和管理层面的综合体;其次介绍了微服务的技术体系,这是技术话题,也是技术架构师或开发工程师比较喜欢的领域,主要讲述了微服务的实现技术、微服务的技术架构和可供选择的微服务技术框架;然后介绍了微服务的业务体系,主要从业务角度分析了微服务的架构,提出了业务微服务的概念并采用了一些架构来实现这一概念,包括领域驱动设计、六边形架构、DCI架构等;接着介绍了微服务的管理体系,分别从组织、研发流程、规范、度量等管理方面说明如何支持微服务;后的内容是针对产品或平台进行微服务的规划、设计、实施和运维活动及实践等。
第1部分,微服务体系概述。这一部分是本书的纲要,包含两个章节,分别是第1章和第2章。
√ 第1章,微服务概述。首先从微服务的演化历史开始描述;其次简单介绍了微服务和微服务架构(MSA)的基本概念,以及MSA和SOA的比较;然后阐述了关于微服务的一些辩证关系;后对微服务未来的方向做了一个探讨性的论述。
√ 第2章,微服务体系概况。首先介绍什么是体系化;其次是采用微服务所期望达到的愿景;然后从整体性、结构性、综合性和动态性等体系化角度分析并形成微服务的体系化结构;接着阐述了微服务体系与云原生架构的区别,以及微服务体系与API开放平台的关系;后简述了微服务体系的生态系统。
第2部分,微服务技术体系。这一部分主要从技术角度来介绍微服务,包含3个章节,分别是第3~5章。
√ 第3章,微服务技术体系及实现技术。主要从4个方面来讲解,分别是微服务技术体系概述、微服务体系中的实现技术、集成平台自动化工具和基础设施环境。
√ 第4章,微服务技术架构体系。首先介绍微服务技术架构体系概念,微服务技术架构体系包括微服务运行时的服务架构、基础架构、后端架构等组成部分;其次分别介绍了不同架构的组成部分,重点介绍了微服务运行时的基础架构,分别是服务发现和注册组件、API网关组件、服务容错组件、服务监控告警日志组件、认证授权组件、统一配置管理组件等,详细说明了这些组件的内容、原理、构成及其相关的解决方案;后简单分析了微服务技术架构的设计模式。
√ 第5章,微服务技术框架体系。微服务技术框架的数量可以用车载斗量来形容。为了更好地区分这些框架,首先对技术框架进行了分类,主要包括开发型微服务基础框架平台、运维型微服务基础框架平台、Serverless型微服务基础框架平台、微服务开发框架平台四大类型;然后把现阶段一些常用的技术框架分门别类地适配上去,其中重点介绍了Netflix微服务框架、Spring Cloud微服务框架、Kubernetes微服务框架、AWS Lambda无服务基础框架和Spring Boot开发框架。
第3部分,微服务业务体系。这一部分主要从业务角度来描述微服务,包含两个章节,分别是第6章和第7章。
√ 第6章,微服务业务体系概述。首先介绍微服务业务体系的概念、业务微服务的5个特征,以及微服务业务架构体系的定义;其次说明业务微服务的核心问题—边界和颗粒度大小;后诠释业务微服务的内部构成、内部设计模式和外部关系集成。
√ 第7章,业务微服务分析设计方法论。首先从总体说明业务逻辑概念,描绘业务场景;然后分别从普通服务模式、领域驱动设计模式、六边形架构模式、Clean架构模式、DCI架构模式、CQRS架构模式对业务微服务架构进行分析和设计。
第4部分,微服务管理体系。这一部分主要从管理角度描述微服务,包含3个章节,分别是第8~10章。
√ 第8章,微服务管理体系概述。主要内容包括微服务应用的成熟度级别、微服务标准规范、微服务工具、微服务文化和度量指标、微服务的组织机构和开发/运维流程等。重点介绍了微服务应用的成熟度级别、微服务应用的“12要素”原则、微服务标准规范和微服务的8个主要度量指标。
√ 第9章,微服务应用的组织、人员和文化。主要讲述在微服务的影响下,对组织、人员和文化应进行适当调整。
√ 第10章,微服务的开发和运维流程。围绕着DevOps来描述基于微服务架构下的开发和运维流程的变化和支撑。
第5部分,微服务体系建设实践。这一部分的内容是主要针对产品或平台进行微服务改造的规划、设计、实施和运维活动及实践,包含两个章节,分别是第11章和第12章。
√ 第11章,传统架构迁徙到微服务架构。主要讲述传统架构迁徙到微服务架构的必要性、需要考虑的问题、策略和实施流程,包括现阶段大部分产品或平台所面临的问题和解决方案。
√ 第12章,新建系统的业务微服务全生命周期过程。主要讲述业务微服务全生命周期过程,包括产品或平台微服务化需要考虑的问题和建设步骤。
勘误和支持
由于笔者水平有限,书中的纰漏和错误在所难免,希望广大读者能给予批评和指正。笔者的联系方式是rengang66@sina.com。
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
√ 下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。
√ 提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
√ 交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/36872
本书采用体系化的思维来诠释和构建微服务体系,从整体上讲述微服务体系的技术、架构、框架、管理整合和规划实施等内容。本书不针对某个微服务技术或框架用法进行细节说明,而是对微服务的整体领域进行概述,同时说明如何实践、如何验证、如何落地。本书脉络清晰,内容翔实,引导读者不仅“知其然”,而且还“知其所以然”。本书适合希望从初级技能水平提升到高级技能水平的读者阅读。阅读本书后,读者会对微服务有一个整体的、深层次的、体系化的认识。
任钢,教授级高工,较早一批国家认证架构设计师,同时也是国家认证系统分析师和信息项目管理师,拥有20余年的软件开发和架构经验,承担过上百个软件项目的规划、设计、开发和交付,对软件工程和架构设计有一定的研究,现于某互联科技公司担任首席架构师。
目录
第1部分 微服务体系概述 1
第1章 微服务概述 2
1.1 微服务史话 2
1.1.1 微服务史话总述 2
1.1.2 个时代是单体应用的C/S客户服务器时代 4
1.1.3 第二个时代是分布式组件化应用时代 5
1.1.4 第三个时代是SOA(面向服务架构)时代 6
1.1.5 第四个时代是微服务架构时代 8
1.2 现阶段微服务的基本概念 10
1.2.1 微服务的基本概念 10
1.2.2 微服务的内涵和外延 12
1.2.3 微服务架构(MSA)的定义 13
1.2.4 MSA和SOA的比较 14
1.3 关于微服务的一些辩证关系 16
1.3.1 选择单体应用系统和微服务应用系统的辩证关系 16
1.3.2 微服务颗粒度大小的辩证关系 17
1.3.3 微服务进程内外之间的辩证关系 17
1.3.4 组件独立性和共享性之间的辩证关系 17
1.3.5 关于去中心化和管理规范化之间的辩证关系 17
1.3.6 松耦合和敏捷性要求之间的辩证关系 17
1.3.7 投入成本和复杂度之间的辩证关系 18
1.3.8 微服务灵活性与性能的辩证关系 18
1.3.9 微服务安全性与无状态性之间的辩证关系 18
1.4 微服务是未来方向吗 18
1.5 本章小结 19
第2章 微服务体系概况 20
2.1 关于体系化 20
2.1.1 体系化的整体性 20
2.1.2 体系化的结构性 21
2.1.3 体系化的综合性 21
2.1.4 体系化的动态性 21
2.2 采用微服务的愿景 22
2.3 微服务体系的概念 23
2.3.1 关于微服务体系的特征 24
2.3.2 微服务体系的整体性 25
2.3.3 微服务体系的结构性 26
2.3.4 微服务体系的综合性 27
2.3.5 微服务体系的动态性 28
2.4 微服务体系建设方法论 29
2.5 微服务体系与云原生架构的区别 30
2.5.1 云原生架构简介 30
2.5.2 微服务体系与云原生架构的不同之处 32
2.6 微服务体系与API开放框架平台的关系 33
2.7 微服务体系生态系统 35
2.8 本章小结 36
第2部分 微服务技术体系 37
第3章 微服务技术体系及实现技术 39
3.1 微服务技术体系的体系化 39
3.1.1 基本概念澄清 39
3.1.2 微服务技术体系的整体性 41
3.1.3 微服务技术体系的结构性 42
3.2 微服务技术体系的层次及其关系 42
3.2.1 总体层次结构 42
3.2.2 微服务技术体系的实现技术体系 45
3.2.3 微服务技术体系的技术架构体系 46
3.2.4 微服务技术体系的技术框架体系 46
3.2.5 微服务技术体系的集成环境平台 47
3.2.6 微服务技术体系的基础设施环境 47
3.3 微服务的实现技术 48
3.3.1 总体说明 48
3.3.2 通信技术 48
3.3.3 分布式架构 57
3.3.4 容器技术 75
3.3.5 安全协议 80
3.4 实现微服务的集成平台自动化工具 84
3.4.1 集成平台自动化工具综述 84
3.4.2 研发自动化工具 85
3.4.3 CI/CD自动化工具 86
3.4.4 运维自动化工具 88
3.5 微服务的基础
— 没有更多了 —
以下为对购买帮助不大的评价