【问题标题】:Should I separate my API component from my Dashboard component?我应该将我的 API 组件与我的仪表板组件分开吗?
【发布时间】:2013-06-01 02:59:42
【问题描述】:

我正在开始一个有点大的新项目。它将有两个以下两个组件(除其他外):API 和仪表板。客户将使用仪表板导入和组织他们的数据,并将使用 API 远程访问它。

本质上,这两个组件将使用相同的模型类和服务,但会在它们之上构建不同的访问点。我的问题如下: 我应该 (1) 将这两个组件构建为同一个项目的一部分,共享一个存储库和一个目录,还是 (2) 在不同的项目中构建它们并将模型作为第三个组件共享?

  1. 应该更容易管理,因为一切都已经在一个地方。但是,我必须始终部署它们,并且实际上并没有很好地分离 API 服务器和仪表板服务器。
  2. 另一方面,可以让我拥有具有不同职责的服务器,但我必须管理第三个组件。

最好的方法是什么?

如果您有使用 Laravel 框架的经验,您将如何实现不同的模块?

【问题讨论】:

    标签: php frameworks coding-style components laravel


    【解决方案1】:

    嗯,我没有使用 laravel 的经验,但有一段时间使用 Zend Framework 2。对于开发,我使用领域驱动设计 + MVC 的方法。

    我的建议是使用第一种方法。

    1.代码更好维护

    如果你想改变一些东西,你只需要在一个地方改变一件事情,它就会完成。不是在您共享的所有副本中

    2。服务器

    您担心需要第二台服务器,以便将任务分配给服务器。好吧,除非您有非常大的任务(例如每小时向客户发送数百万封邮件),否则您不必担心特定任务的专用服务器。

    只需在服务器前面放置一个负载平衡器即可。这样,当有很多 api 调用进来但没有仪表板时,你仍然使用两个服务器,而不是 1 是放松的。

    3.维护

    如果有第三个东西(仪表板、api、站点?),那么您可以轻松地使用当前代码库进行扩展,而无需进行大量更改。

    tl;dr 我推荐第一个

    【讨论】:

      猜你喜欢
      • 2011-09-30
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      相关资源
      最近更新 更多