前言
随着互联网行业的飞速发展,快速的业务更新和产品迭代给系统开发过程和模式带来了新的挑战。业务需求层出不穷且变化不断、技术发展日新月异、团队规模从无到有快速扩张,因此,系统的复杂性以及对行业变化的快速应变能力等成为软件开发的核心问题。围绕这些问题,如何更为合理地划分系统和团队边界、如何更加有效地组织系统开发过程、如何通过技术手段识别和消除开发过程中的浪费,成为广大软件开发和技术管理人员所需要思考的问题。在这一时代背景下,微服务架构的出现为我们提供了一种具体的解决方案。
本书从微服务的基本概念出发,阐述了微服务架构的方方面面。除了具体实现工具和框架之外,本书还介绍了微服务架构的基本原理和技术体系,并阐述现有系统向微服务架构转型的系统方法,旨在为广大开发人员提供一套系统的、全面的微服务实施指南。
构建微服务架构是一项系统工程,涉及服务建模、实现技术、基础设施和研发过程等各个维度。本书从建模、实现和转型这三个特定角度出发,结合作者自身在互联网行业多年的技术应用与管理工作经历展开论述,介绍微服务架构设计相关的方法论和工程实践,具有较强的针对性和适用性。微服务架构是一个非常广泛的概念,本书整体上是“原理”结合“技术”的行文思路,不仅仅介绍微服务架构实现上的具体工具,更是对这些工具背后的原理和设计思想进行剖析,具备一定广度的同时也提供了对应深度的知识体系。
本书共分为四篇,共计八章内容,分别从不同的领域对微服务架构的各个方面展开讨论。
1.直面微服务篇。从微服务的基本概念出发,阐述微服务架构的发展阶段、所具备的优势以及所面临的挑战,并给出实施微服务架构的系统方法。
2.服务建模篇。关注于微服务建模,首先介绍服务建模方法,用于明确服务模型的各个维度和表现形式;然后对服务拆分和集成方法进行展开,侧重于从服务的依赖关系、数据、事务边界等维度出发讨论实现策略。
3.服务实现篇。作为微服务架构实现过程中的主体知识部分,本篇从微服务架构基础组件、关键要素、实现技术和管理体系等四个角度切入,全面介绍微服务架构实现上的工具框架、技术原理和最佳实践。
4.服务转型篇。从实际应用角度出发探讨如何在现有系统的基础上向微服务架构转型,一方面提供技术架构调整的方法和模式,另一方面也阐述了如何从组织过程管理角度出发向微服务架构转型。
通过对本书的系统学习,读者将对微服务架构的基本原理、设计思想和实现方式有全面而深入的了解,为后续的工作和学习铺平道路。
本书的撰写成功要感谢我的家人,特别是我的妻子章兰婷女士,在我占用大量晚上和周末时间的情况下,能够给予极大的支持和理解。感谢以往以及现在公司的同事们,身处业界领先的公司和团队让我得到很多学习和成长的机会,如果没有大家平时的帮助,就不会有本书的诞生。
由于编写时间仓促,水平和经验有限,书中难免有欠妥和不足之处,恳请读者批评指正。
郑天民
2018年1月于杭州钱江世纪城