分布式系统中的三层客户端服务器架构
在本文中,我们将详细介绍三层客户端-服务器架构。分布式系统中最常见的多层架构类型是三层客户端-服务器架构。在这种架构中,整个应用程序被组织成三个计算层
- 表示层
- 应用层
- 数据层
客户端-服务器架构中三层的主要好处是这些层是独立开发和维护的,并且在任何修改的情况下都不会影响其他层。它允许更好的性能,甚至可以在架构中实现更高的可扩展性,因为随着需求的增加,可以添加更多的服务器。
三层 分布式系统中的客户端-服务器架构:
- 表示层:它是架构中的用户界面和最顶层。其目的是接受客户端的请求并向客户端显示信息。它使用 Web 浏览器与其他层通信,因为它在浏览器上提供输出。如果我们谈论基于 Web 的层,那么这些层是使用 HTML、CSS、JavaScript 等语言开发的。
- 应用层:它是架构的中间层,也称为逻辑层,因为通过表示层收集的信息/请求在此处详细处理。它还与存储数据的服务器交互。它处理客户端的请求,格式化,然后将其发送回客户端。它是使用Python、 Java、 PHP等语言开发的。
- 数据层:它是架构的最后一层,也称为数据库层。它用于存储处理后的信息,以便以后可以在需要时对其进行检索。它由 Oracle、MySQL、DB2 等数据库服务器组成。表示层和数据层之间的通信是使用中间层(即应用层)完成的。
优点:
- 表示层、应用层和数据库层之间保持逻辑分离。
- 由于任务在分布式机器中的多台机器上划分,因此提高了性能,而且每一层都独立于其他层。
- 随着层级可以独立扩展,架构中也可以处理增加更多服务器的需求。
- 开发人员可以独立更新一层的技术,因为它不会影响其他层。
- 层的独立性提高了可靠性,因为一层的问题不会影响其他层。
- 程序员可以轻松地分别维护数据库、表示代码和业务/应用程序逻辑。如果业务/应用程序逻辑需要任何更改,那么它不会影响演示代码和代码库。
- 由于表示层任务与数据层的服务器分离,因此负载得到平衡。
- 由于客户端无法直接与数据库层通信,因此安全性得到了提高。此外,数据在传递到数据库层之前在应用层进行验证。
- 保持数据的完整性。
- 提供对各种数据库的部署,而不是将自己限制在一种特定的技术上。
缺点:
- 表示层不能直接与数据库层通信。
- 复杂性也随着架构层次的增加而增加。
- 由于代码库、演示代码和应用程序代码需要单独维护,因此资源数量有所增加。