CHAPTER 1
近年来,微服务架构(Microservices Architecture)已经成为一种主流的软件开发方法论,它把一种特定的软件应用设计方法描述为能够独立部署的服务套件。所谓微服务(Microservices),就是一些具有足够小的粒度、能够相互协作且自治的服务体系。每个微服务都比较简单,仅关注于完成一个功能并能很好地完成该功能,而这里的功能代表的是一种业务能力。构建微服务体系需要一套完整的方法论和工程实践,而微服务架构的提出代表的就是实现微服务体系的架构模式,即为我们提供了这些方法论和工程实践。从这个角度讲,微服务架构需要我们理解、学习并应用到日常开发过程中去。
微服务架构基于分布式系统,同时借助了面向服务架构和企业服务总线的设计理念并做了改进和优化,从而形成一种新的架构体系。微服务架构一方面具备技术、业务和组织上的优势,另一方面也在技术架构和研发过程中存在巨大挑战。微服务架构的实施需要具备一定的前提,而构建微服务架构是一项系统工程,涉及服务建模、实现技术、基础设施和研发过程等各个维度。在实施过程中,也需要根据现有系统的具体情况采用合适的实施模式。
本章作为全书的开篇,对微服务设计原理与架构做了全面介绍。本书的关注点是微服务架构的实现技术,本章也会梳理目前市面上主流的微服务技术体系并完成技术选型。在本章的最后,我们还会给出全书的组织架构。