5 种常见的软件架构模式

徐小东

2023-01-03

分层架构

模式描述

关键概念

事件驱动架构

模式描述

关键概念

两种主要的拓扑结构:中介(mediator)拓扑和代理(broker)拓扑。

  1. mediator 拓扑:需要在事件内使用一个核心中介分配、协调多个步骤间的关系、执行顺序时使用。
  2. broker 拓扑:不通过一个核心中介将多个事件串联在一起时使用。

注意事项

微内核架构

模式描述

关键概念

主要考虑两个方面:核心系统和插件模块。

  1. 核心系统一般只包含一个能够使系统运作起来的最小化模块。核心系统需要了解插件模块的可用性以及如何获取到它们,通用的实现方法是通过一组插件注册表。
  2. 插件模块包含专业处理、额外特性的独立组件;通常插件模块之间没有任何依赖。插件模块可以通过多种方式连接到核心系统,包括 OSGi、消息机制、Web 服务或直接点对点的绑定。

插件和核心系统的通信规范包含标准规范和自定义规范。

微服务架构

模式描述

关键概念

3 种常见拓扑结构:

  1. 基于 REST API:适用于网站,通过 API 对外提供小型的、自包含的服务,如 Google、Amazon。
  2. 基于 REST 的应用:通过传统的基于 Web 或胖客户端业务应用来接收客户端请求。
  3. 集中式消息:使用轻量级的集中式消息代理,如 ActiveMQ、HornetQ,通常应用在较大的业务应用程序中。

云架构

模式描述

专门为了解决伸缩性和并发问题而设计。

关键概念

两个主要模块:处理单元和虚拟化中间件。

  1. 处理单元包含应用模块,即 Web 组件及后台业务逻辑,还包括复制引擎。
  2. 虚拟化中间件负责保护自身以及通信。
5 种软件架构模式比较

5 种软件架构模式比较