架构设计(3)--架构模式
模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地 重用 那些已有的解决方案,无需再重复相同的工作。即模式是在特定环境中解决问题的一种方案 。 什么是架构模式?在维基百科:架构模式是针对特定软件架构场景常见问题的通用、可重用解决方案。架构模式类似于软件设计模式,但范围更广。 架构的本质是管理复杂性。 如果你觉得架构不重要,可能是你做的事情不够复杂,或者是你没有管理好复杂性。架构模式虽多,经过抽象沉淀之后,也就那么几种,O'Reilly 出版过一本免费的小册子《Software Architecture Patterns》, 介绍了五种最常见的软件架构,是非常好的入门读物: 1. 分层架构(比较传统的单体架构) 2. 微服务架构(服务分割:当前比较流行的服务化架构,解决单体架构面临的问题,适合敏捷开发,快速迭代) 3. 微核架构(又称插件架构,开发难度较高,一般用来做工具软件开发,如Eclipse,不太适合分布式业务场景) 4. 事件驱动架构 (一般适用于应用局部场景,用来实现异步解耦) 5. 云架构(现在的说法是云原生架构-Cloud Native,基于Docker、Kubernetes、Service Mesh 云原生架构) 一、分层 分层架构( layered architecture