【问题标题】:3 tier server architecture with Drupal使用 Drupal 的 3 层服务器架构
【发布时间】:2017-12-24 18:45:50
【问题描述】:

Drupal 可以部署在 3 层服务器架构(Webserver/Appserver/Database)上吗?

我们的数据库层将有 MySQL。 drupal 适合哪个层级,其余层级应该使用什么?

【问题讨论】:

    标签: php drupal 3-tier


    【解决方案1】:

    可以。

    • Application Tier 基本上是您的应用程序的一个 Web 节点。它将有一个 Web 服务器(Apache、Nginx)和在其上运行的 Drupal。
    • 数据层 将是 MySQL 或 MariaDB 的数据库节点。您只需在 Drupal 的 settings.php 文件中提供其 IP 地址,它就可以正常工作。您可能希望为要挂载到 /sites/default/files 的共享文件系统添加一个额外的节点。
    • Presentation Tier 是一个棘手的部分。您可能没有它(因此允许 Drupal 的模板系统处理演示文稿 - 即应用程序层也将处理演示文稿)。但是,Drupal 可以“无头”运行 - 完全作为 API 服务器,让您能够编写自己的表示逻辑(基本上是 API 客户端)。

    这种设计有一些有趣的好处:您可以在 Drupal 和演示文稿之间插入一些缓存机制,从而消除 Drupal 的缓慢性。您还可以通过克隆 Web 节点轻松水平扩展 Drupal 实例。您甚至可以完全关闭 Drupal 以进行更新,而表示层仍然提供缓存的内容。

    有一些有趣的无头/解耦 Drupal 会议:

    【讨论】:

      【解决方案2】:

      简短的回答是否定的。

      答案很长,因为 Drupal 是开源的,你可以做到,你需要做很多工作,你会有效地创建自己的 Drupal 的分叉版本,然后你需要维护它,因为Drupal 的更新将不再适用于您的版本。

      Drupal、Joomla 和其他 PHP/MySQL CMS 解决方案旨在安装在单个 Web 服务器上,而无需在真正的 3 层架构中分离表示层、业务逻辑层和数据访问层。

      这意味着对于任何拥有典型网络托管解决方案的人来说,它们非常实用且易于安装和使用,但这也意味着它们不足以用于处理需要更彻底保护和集成的私人信息的典型企业应用程序与后台应用程序。 (当然,如果同一家企业只想拥有一个信息网站,它们当然很好)。

      【讨论】:

        猜你喜欢
        • 2011-02-06
        • 2010-12-22
        • 1970-01-01
        • 2021-09-08
        • 2011-07-30
        • 1970-01-01
        • 2021-04-09
        • 2012-02-12
        • 2014-04-13
        相关资源
        最近更新 更多