基本信息
【插图】

编辑推荐
《分布式服务架构:原理、设计与实战》以分布式服务架构为主线,重点介绍了保证服务化架构的一致性、高性能、高可用的解决方案和最佳实践,并介绍了微服务架构中倡导的容器化过程,以及敏捷开发和敏捷上线的流程,对分布式服务系统架构设计的核心要点逐一介绍,对重点主题配有代码、设计文档和开源项目,每个主题独立成章,让读者不但可以了解大规模分布式微服务系统是怎么设计的,还可以在了解原理的同时,了解作者在实际项目中积累的最佳实践和模式,大大提高互联网项目的实现效率。要点如下。
√介绍服务化和微服务架构的背景和演化。
√介绍微服务中的常见问题和解决模式。
√提出解决分布式系统一致性问题的有效方案和设计模式。
√介绍酸碱平衡和最终一致性等理论,对分布式服务间出现的服务超时问题给出解决办法。
√提出非功能质量架构设计的方法论,举例说明系统的性能和容量的预估,并介绍压测的方法论和最佳实践。
√提出服务化的日志系统的技术选型依据和大数据日志系统建设的原理、设计与实战,包括ELK等流行框架的介绍与使用。
√详细介绍基于调用的APM系统的设计与实现,并给出实现的最佳实践。
√介绍线上应急和技术攻关的流程和重点,并总结Java服务化系统应急中需要使用的Java虚拟机命令、Linux命令和定制化开发的命令等。
√服务化系统容器化的过程分析和最佳实践。
√服务化系统中敏捷开发的过程和工具。
内容简介
计算机书籍
《分布式服务架构:原理、设计与实战》全面介绍了分布式服务架构的原理与设计,并结合作者在实施微服务架构过程中的实践经验,总结了保障线上服务健康、可靠的最佳方案,是一本架构级、实战型的重量级著作。
《分布式服务架构:原理、设计与实战》以分布式服务架构的设计与实现为主线,由浅入深地介绍了分布式服务架构的方方面面,主要包括理论和实践两部分。理论上,首先介绍了服务架构的背景,以及从服务化架构到微服务架构的演化;然后提出了保证分布式服务系统架构一致性的方案和模式,并介绍了互联网架构评审的方法论;最后给出了一个简要的非功能质量的技术评审提纲。实践上,首先提供了一个互联网项目的性能和容量评估的真实案例,介绍了压测的方案设计和最佳实践,这些技术能够全面保证大规模、高并发项目的一致性、可用性和高并发性;然后讲解了大规模服务的日志系统的原理、设计与实践,包括ELK等框架的特点和使用方式等,并介绍了当前流行的APM系统的设计与实现,主要包括调用链和业务链的跟踪与恢复,涵盖了线上应急和技术攻关的流程及重点,也结合服务化系统线上应急过程进行分析并总结了其中需要用到的Java虚拟机、Linux和定制化脚本等命令,这些命令都是每个开发人员都会用到的解决线上问题的利器;最后,阐述了系统服务的容器化过程,并详细介绍了敏捷开发流程和实现自动化的常用工具等,让读者既能学到架构设计的基础理论,也能结合书中的原理、设计与方法论来解决大规模、高并发互联网项目中的现实问题。
无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理、技术总监,还是对于资深IT人士来说,《分布式服务架构:原理、设计与实战》都有很强的借鉴性和参考价值。
作译者
现任易宝支付产品中心首席架构师,曾在花旗银行、甲骨文、路透社、新浪微博等大型IT互联网公司担任技术负责人和架构师,现专注于大规模、高并发的线上和线下支付平台的应用架构和技术架构的规划与落地,负责交易、支付、渠道、出款、风控、对账等核心支付系统的设计与实现,对移动支付、聚合支付、合规账户、扫码支付、标记化支付等业务场景有产品应用架构规划与落地的实践经验。
杨 彪
现任某创业公司技术总监及合伙人,在互联网和游戏行业有近10年工作经验,曾在酷我音乐盒、人人游戏和掌趣科技等上市公司担任核心研发职位,在互联网公司做过日活跃用户量达千万的项目,也在游戏公司做过多款月流水千万以上的游戏。喜欢研究问题,追求前沿技术,学无止境。
目录
1.1 从传统单体架构到服务化架构 2
1.1.1 JEE架构 2
1.1.2 SSH架构 5
1.1.3 服务化架构 8
1.2 从服务化到微服务 11
1.2.1 微服务架构的产生 12
1.2.2 微服务架构与传统单体架构的对比 13
1.2.3 微服务架构与SOA服务化的对比 15
1.3 微服务架构的核心要点和实现原理 16
1.3.1 微服务架构中职能团队的划分 16
1.3.2 微服务的去中心化治理 18
1.3.3 微服务的交互模式 18
1.3.4 微服务的分解和组合模式 22
1.3.5 微服务的容错模式 35
1.3.6 微服务的粒度 41
1.4 Java平台微服务架构的项目组织形式 42
1.4.1 微服务项目的依赖关系 42
1.4.2 微服务项目的层级结构 43
1.4.3 微服务项目的持续发布 45
前言
毋庸置疑,IT行业的发展进入了一个加速分化的时代,将优秀的解决方案推向大众的成本和速度将成为决定企业生存与否的关键因素之一。优秀的互联网企业已装备精良并持续优化,而那些还需不断进步的企业也在互相竞争。尽管在这个信息量巨大的媒体时代,部分优秀的企业在应对分布式服务架构时已经有了更多的认识且技术越来越完善,但也有很多快速发展的企业在变得更优秀这条道路上任重而道远。
很多非常优秀的开发人员和架构师能成为给公司带来长远利益的人,在变革的节点上推波助澜。本书将带你走进分布式服务架构的世界,在这个世界里不停探索和汲取经验。领先于别人是一种要求,这也是很多公司赢得先机的关键所在,无论服务于IT的哪个领域,每个IT人都有理由重视架构这门艺术。希望本书对于软件工程师、测试工程师、软件架构师及深耕于IT行业的老兵来说,都能带给其所期望的内容,并帮助其解决和发现问题,也能帮助其不断探索。
本书以当前流行的分布式服务架构为主线,讲解了分布式服务架构的原理、设计与实践。本书首先介绍了分布式服务架构的背景和演化,然后深入阐述了保证分布式服务的一致性、高性能、高可用性等的设计思想和可实施的方案;然后介绍了大规模、高并发线上服务的应急流程和技术攻关过程,并给出了发现和定位问题的有效、常用工具集;最后详细介绍了分布式服务架构中容器化过程分析、敏捷开发和上线的工具,为从事高并发服务架构的开发人员提供了保障系统健康运行的方法论和最佳实践。
感谢电子工业出版社张国霞编辑的认真态度和辛勤工作,使得本书能够最终顺利完成。
感谢笔者的技术小伙伴贾博岩提供了日志相关的资料和示例,让笔者能够快速完成第4章大数据日志系统方面的内容。
感谢张晓辉、周伟、霍勇同学在编辑阶段参与阅稿,并提出专业的意见。
感谢英语专业的高材生曹燕琴小同学在文字上提供的帮助。
最后,感谢笔者的家人和朋友在本书写作过程中提供的支持和帮助。
李艳鹏
序言
经过艳鹏多年的实践经验积累及长时间的精心准备,本书终于与大家见面了,笔者很荣幸能够成为本书的首批读者。
随着时代的不断发展,分布式服务架构日益流行,已经从SOA服务化发展到了微服务架构。有过惊喜,有过质疑,但这未能阻挡分布式服务架构在互联网行业里的普遍应用。然而,事物总是有两面性的,丰富的新框架及新技术层出不穷,给项目的技术决策者带来了技术选型上的困难。此外,在互联网交易越来越复杂、规模越来越庞大的背景下,解决分布式服务间的事务问题、业务一致性问题、可用性问题、稳定性问题等的困难以指数级增加。
本书以一位在IT行业从事多年分布式服务架构工作的资深老兵的视角,剖析了针对分布式系统架构的解决方案和设计模式。书中的每一章、每一节都是作者对多年线上系统架构设计实践的总结。
此外,有别于市面上的其他架构书籍,本书在讲解基础理论和方法论的基础上,提供了大量的实际操作和详尽的开发命令解析,读者可以直接把书中的方法和案例应用到实际工作中。
如果你想成为一名优秀的高并发服务架构师,那么本书将为你提供实践指引;如果你在大规模、高并发交易系统中遇到问题,那么本书将为你提供解决这些问题的理论与实践,令你脑洞大开,轻松解决问题!
姚建东
易宝支付产品VP
推荐
序二
本书作者艳鹏和杨彪秉着"开放、分享"的态度,将在互联网高并发服务建设过程中总结的经验、设计模式和最佳实践整理成书。本书内容涉及分布式服务架构的原理、设计与实战,不但介绍了微服务的背景,还介绍了服务化的演进历史,并详细介绍了保证一致性、高性能、高可用性的解决方案,重点讲解了建设大数据日志系统和调用链跟踪系统等内容。大数据日志系统和调用链跟踪系统是每一个微服务体系都应该包含的核心基础设施,为服务的稳定性、可用性提供了有效保证,为在应急和技术攻关过程中发现问题、定位问题和恢复问题提供了有效帮助。
本书逐一介绍分布式微服务系统架构设计的核心要点,对重点主题提供了代码、设计文档和开源项目,每个主题独立成章,且相关代码可应用于实际项目中。通过阅读本书,读者不但可以了解大规模分布式微服务系统是怎么设计的,也可以学到实际服务化项目中的设计模式及最佳实践,可大大提高互联网项目的实施效率。
分布式服务架构涉及的面很广且难以列举,涉及架构方法论、设计模式、如何快速入门纷繁庞杂的技术栈、如何对方案进行选型、如何定位和解决问题,等等。笔者也曾面试过许多候选者,其中,能利用所了解的知识较好地解决问题的人不多,能利用当前流行的技术对复杂问题进行技术选型并给出合理架构方案的人更是凤毛麟角。
笔者曾在Google、乐视等互联网企业工作,作为一名持续创业者,曾想将自己从业以来的项目开发经验、问题追踪、技术选型等积累成文字,为给更多的开发者提供参考,使其少走弯路,但一直碍于各种琐事未能成行。当艳鹏将书稿呈现在笔者面前并让笔者为本书作序时,笔者惊喜万分。本书作者有着多年的一线互联网开发经验,根据自己的实际生产经验,将微服务、分布式系统、一致性、性能与容量评估、大数据日志分析系统、调用链系统、容器等结合一些生动、实用的案例进行了全面介绍,对一些项目敏捷开发和技术选型也给出了自己的经验,同时对日常运维手段也进行了分享。本书虽然篇幅不大但实用性很强,能够指导实际互联网架构的设计与实现。本书主题明确、浅显易懂,适合初学者和有一定经验的开发者和架构师阅读和使用。
于立柱
福佑卡车CTO
推荐
序三
本书作者杨彪和艳鹏都是笔者认识多年的老朋友,笔者见证了他们从勤奋青年到老成持重、独当一面,从一线的核心开发人员到架构师再到技术经理和技术总监,从传统IT行业到互联网行业的心路历程。
笔者在近几年面试过很多人,发现了一些有意思的现象:很多自称架构师的人在同你讲架构时可谓滔滔不绝,各种技术名词像说相声一样从其嘴中说出来,但是你稍微追问一下,就会发现其存在很多基本概念的缺失,例如自称精通高并发的人说不出其所谓的高并发瓶颈在哪里,自称能够开发高可用和高性能系统的人说不出高可用和高性能的衡量标准是什么,并且其所谓的大数据处理系统实际上只有百万条数据,等等。
媒体评论
易宝支付产品VP 姚建东
关于分布式的书籍很多,也各有千秋,而本书的最大特点是每章独立,更像一本实用工具书,读者能从中学到自己所关注的内容,比如开发人员的线上应急和技术攻关、数据统计分析的分布式日志和运维部署相关的服务容器化方案等。每章独立却又相互关联、浑然一体,书中的所有技术最终汇集成了分布式服务架构的最佳方案。
开心网副总裁 杨延峰
本书作者多年从事互联网和游戏行业的工作,有着资深的实战经验,能把互联网和游戏行业中先进的技术结合在一起。本书的内容不仅适用于互联网、金融或电商方面,也非常适用于全球大服的游戏服务后台构架方面。本书从分布式原理、数据一致性到高性能、高可用等讲解了项目中经常发生的问题,能很好地帮助读者进行分布式学习和实战操作,值得推荐。
指艺科技CEO 李荣超
艳鹏在易宝支付产品中心全面负责架构设计和评审工作,对线上应急和技术攻关的案例讲解如数家珍,并且在复盘后形成可实施的流程规范,有效避免了服务化过程中的常见问题,大大提高了应用架构的可用性和稳定性,本书是艳鹏在高可用服务化系统中的实践经验总结,为读者提供了一个好的风向标。
易宝支付技术总监 张煜
艳鹏是我认识多年的老战友了,多年战斗在一线,有丰富的研发、架构经验,非常了解大家实际的需求。本书层次分明、图文并茂、案例详实,其中的代码更可以直接在实际工作中使用,是一本不可多得的好书。
蓝汛技术总监 陈江伟
和艳鹏相识多年,见证了他不断完善自己的理论基础且不断探索和总结,形成了一套完整的互联网架构设计方法论。
在本书中,艳鹏通过多年互联网架构经验,总结了服务化的背景和技术演进,提出了互联网项目技术评审的方法论和提纲,并给出了在真实的线上项目中进行性能和容量评估的全过程,帮助大家轻松设计大规模、高并发服务化系统项目。若能熟练掌握本书内容,则能够保证服务化项目按照既定的目标进行实施与落地,并能保证系统的稳定性、可用性和高性能等高级特性。
爱奇艺高级技术经理 黄福伟
本书深入浅出地介绍了保证大规模、高并发服务化系统可用性和高性能的经验和方法论,是保证线上服务稳定、可靠的一本不可多得的实践性著作。
菜鸟网络架构师 兰博
IT技术日新月异地发展,我们自然不能躺在历史的温床上停歇,必须不断地学习。这其中有的人对新知识的态度是只学一二,李先生却精益求精、举一反三,对其中的每个知识点都能做到理解透彻。本书便是李先生长期研究服务化架构、微服务架构及容器化之后的经典总结。本书从问题背景入手,深入浅出地介绍了服务化架构,并结合具体的最佳实践,为读者展示了服务化架构设计的宏伟蓝图。
华为资深云架构师 朱军
分布式、微服务几乎是现在的技术人员必须要了解的架构方向,从理论上来讲确实解耦了很多结构,但另一方面,又会带来更多衍生的复杂度及难点。如何保证事物的最终一致性?如何进行性能及容量预估?如何处理分布式系统的日志?如何进行线上应急?如果你曾有和我一样的困惑,那么相信你一样能从本书中得到非常宝贵的解答。本书作者由浅至深地讲述了分布式架构带给我们的诸多困扰和难点,循序渐进、思路清晰地阐明了这些问题的答案。相信本书能成为业界的又一力作!强烈推荐相关从业人员阅读本书!
12链CTO 张建
与作者共事五年,深知他对技术的痴迷,他喜欢研究问题,对待事情认真、负责。本书中的所有细节也都是他深入研究并且得出结论的,很多经验方法都能直接在工作中应用,是一本经过千锤百炼的值得推荐的好书。