《系统设计》课程学习笔记—N层架构

119 阅读2分钟

N层架构将应用程序划分为逻辑层和物理层。层是分离责任和管理依赖关系的一种方法。每一层都有特定的职责。上层可以使用下层中的服务,但反之亦然。

n-tier-architecture.webp

层在物理上是分开的,在不同的机器上运行。一个层可以直接调用另一个层,或者使用异步消息传递。虽然每个层可能位于其自己的层中,但这不是必需的。多个层可能位于同一层上。物理分离层提高了可伸缩性和弹性,并增加了额外网络通信的延迟。

N层架构可以有两种类型:

  • 在封闭层架构中,一个层只能立即调用下一层。
  • 在开放层架构中,一个层可以调用它下面的任何层。

封闭层架构限制了层之间的依赖关系。然而,如果一层可以随意将请求传递给下一层,则可能会产生不必要的网络流量。

N层架构的类型

让我们看看N层架构的一些示例:

三层架构

三层广泛使用,由以下层组成:

  • 表示层:处理用户与应用程序的交互。
  • 业务逻辑层:从应用程序层接收数据,根据业务逻辑对其进行验证,并将其传递给数据层。
  • 数据访问层:从业务层接收数据,并对数据库执行必要的操作。

两层架构

在这种架构中,表示层在客户端上运行,并与数据存储进行通信。客户端和服务器之间没有业务逻辑层或直接层。

单层或一层架构

这是最简单的方法,因为它相当于在个人计算机上运行应用程序。应用程序运行所需的所有组件都位于单个应用程序或服务器上。

优点

以下是使用N层架构的一些优点:

  • 提高可用性。
  • 更好的安全性,因为层可以像防火墙一样工作。
  • 单独的层允许我们根据需要扩展它们。
  • 维护方便,因为不同的人可以管理不同的层。

缺点

以下是N层架构的一些缺点:

  • 增加了整个系统的复杂性。
  • 随着层数的增加,网络延迟增加。
  • 花费多,因为每一层都有自己的硬件成本。
  • 难以管理网络安全。