通过本篇文章您可以了解到以下内容:
- 微服务架构的由来、历史
- 微服务架构相比传统巨石应用的优势
- 微服务拆分原则概述
微服务架构的由来、历史
从软件架构的发展趋势来看,大体可以整体分为四个阶段:
前三个阶段分别是巨石应用、3-Tier 架构、SOA 架构:
- 巨石应用,顾名思义是将所有的业务逻辑用一个工程进行表示。(在上一篇文章中我们进行了详细的介绍)
- 3-Tier架构,一种软件设计的思想。不同于巨石应用的模式,它将整个业务应用进行了层次划分。总共分为三层,自上而下分别是表示层、业务逻辑层、数据访问层。另一方面,这种层次的区分也体现了 “高内聚低耦合” 的思想。
- SOA 架构,一种软件设计的思想,按照实际业务需要,拆分成粗粒度、松耦合的服务架构。
第四个阶段也就是我们今天的主角,微服务架构。在谈到微服务架构的历史,我们就不得不想到了以下几位大师:
- Adrain Cockcroft,Netflix 架构师。主导了 Netflix 从 2009 年到 2016年巨石应用到微服务架构演进的工作。并使得 Netflix 成为首批成功从巨石应用迁移到基于云的微服务架构的公司之一。
- Fred George,在 2012年的一次技术大会上,详细介绍了他和他的团队如何将百万级代码的传统应用进行改造拆分,并利用消息中间件(MQ)进行服务之间解耦的过程。
- Marti