gpt4 book ai didi

architecture - 以下分离被认为是 2 层还是 3 层架构?

转载 作者:行者123 更新时间:2023-12-01 05:05:03 25 4
gpt4 key购买 nike

我有一个 Web 应用程序,它在 Web 托管上按如下方式部署:

  • 将代码(不分离 BLL、DAL 等)上传到虚拟主机
  • 正在上传到虚拟主机数据库的数据库(MSSQL 备份文件)

  • 这被认为是 2 层架构还是 3 层架构?

    我从不同的来源看到了不同的解释
  • 如果代码和数据库驻留在同一台服务器上,则它是 2 层。如果代码和数据库位于不同的服务器上,则它是 3 层。
  • 带有数据库的 Web 应用程序至少具有 3 层架构
  • 它是一个 2 层架构。

  • 此来源对 2 层的定义
    在 2 层架构中,Web 服务器响应对网页的请求,而数据库服务器提供后端数据存储
    此来源对多层的定义
    在 3 层架构中,Web 服务器链接到中间层,中间层通常包括一系列执行特定任务的应用程序服务器,以及现有公司系统的后端层

    希望有人能澄清这一点。

    最佳答案

    这实际上取决于您对问题中“层”一词的理解。

    来自 基础设施/物理在大多数 Web 应用程序中,您将有 3 层:

  • Client (browser) <--> Application Server <--> Database

  • 与大多数由 2 层组成的桌面应用程序相反:
  • Client <--> Database

  • 请注意,根据此定义,网站并不总是 3 层 - 例如,您可能不会在仅计算复利的简单网站中具有任何持久性。

    在 Web 应用程序架构本身中来自 逻辑 从观点来看,您通常有抽象表示上述层的层 - 例如在 中。 MVC ,您将拥有与数据库相对应的模型、与在服务器上执行的逻辑相对应的 Controller 以及与呈现给客户端的内容相对应的 View 。

    因此,在基础设施上,您有一个 3 层架构(因为您显然属于第一种情况),但是根据您的描述,您的网站本身可能没有遵循严格的多层方法,而是将多个逻辑层合并为一。

    看到这个 wikipedia article ,这将进一步澄清事情。

    更新 : 还有 this thread似乎澄清了这个问题。

    关于architecture - 以下分离被认为是 2 层还是 3 层架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748387/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com