1

目前我们有非常重量级的前端(实际上是一个应用程序中的前端+后端)。前端包含所有逻辑:UI、业务逻辑、持久化逻辑等等。它非常复杂且难以维护,例如,由于一些平台问题(它是用 PHP 编写的),例如缺少连接池。

所以我想出了一个分离前端和后端的想法。后端可以写在更方便的平台上(我们打算用Java),前端可以继续用PHP。

我认为 UI 逻辑是前端应该做的所有事情。并且应该对在此处执行的代码库应用一些限制:

  1. 没有直接的数据库调用。数据库调用很难扩展,也很难提供 SLA。
  2. 非阻塞集成 plotocol 到后端。如果前端向后端请求某些内容,前端应该能够不阻止此请求。它可以从两个方面帮助我们:

    一个。我们可以向后端发送并行请求(并行 I/O);

    湾。我们可以为请求(SLA)提供超时。有时最好快速失败并且不要阻止客户端。

因此,考虑到以上所有因素,我认为前端的最佳架构(在我的情况下,我不是传播灵丹妙药)是 UI 逻辑,它仅以非阻塞方式与 REST/SOAP 后端通信。你怎么看这些东西?

4

3 回答 3

1

您可能想为您的前端查看 node.js - 它是新的,但它具有非常酷的异步(即非阻塞)架构。确实意味着将 PHP 抛在后面,但是如果您无论如何都要进行重大重写,那不会增加太多新工作。

于 2010-09-15T01:49:59.300 回答
0

对我来说听起来不错,您可以选择在服务器端和客户端(通过 AJAX)从(java?)BL 中提取信息。

我认为 UI 逻辑是前端应该做的所有事情。

是的 - 你肯定在想清楚:)

于 2010-09-15T01:12:53.947 回答
0

您可以使用以下架构。

  1. 您可以使用任何 JS 框架,如 Angular 4 或 ReactJS,因为它们都有服务器端渲染。这也适用于单/多应用程序。
  2. 使用 PHP 定义 RestFul API,所有业务逻辑都在那里。API 应该托管在不同的服务器上。
  3. 为了使 API 安全,您可以进行 OAuth 身份验证。
  4. 如果您使用 PHP,我建议使用存储过程而不是硬编码 SQL 查询或任何 ORM。
于 2018-09-16T12:48:37.657 回答