上QQ阅读APP看书,第一时间看更新
第1章 智能微服务软件框架
1.1 微服务基本概念
微服务的概念是在2011年5月威尼斯的一个软件架构研讨会上第一次出现的。当时的与会者对它的描述只是软件架构的一种风格,并没有给出明确的定义。随着技术的不断发展,2014年3月,Jame Lewis和Martin Fowler在博客中阐述了微服务架构的特点[1],并给出了这种风格的明确定义:微服务架构风格是一种将单体(Monolith)应用程序开发为一组小型服务,每个小型服务运行在自己的进程中并采用轻量级机制(如HTTP、REST、API)进行通信的软件设计风格。这些小型服务围绕业务能力建立,可以用不同的编程语言及数据库存储技术来具体实现,并且支持完全自动化的独立部署,平台对这些服务只提供最低限度的集中管理。
微服务将复杂的单体软件分解为可以独立部署和维护的小型服务模块,因此相比于传统软件架构,微服务架构能够更有效地利用计算资源,更快、更精准地实现服务演化。这种从单体软件架构到分布式微服务结构的转变,也从根本上改变了传统软件的开发、测试、部署、更新和运维方式。