目前我们拥有非常重量级的前端(实际上是一个应用程序中的前端+后端)。前端包含所有逻辑:UI、业务逻辑、持久性逻辑等。由于一些平台问题(它是用 PHP 编写的),例如缺少连接池,它非常复杂且难以维护。
所以我想出了一个将前端和后端分离的想法。后端可以用一些更方便的平台来编写(我们计划使用Java),前端可以继续使用PHP。
我认为 UI 逻辑是前端应该做的。并且应该对此处执行的代码库应用一些限制:
- 没有直接的数据库调用。数据库调用难以扩展且难以提供 SLA。
到后端的非阻塞集成plotocol。如果前端向后端请求某些内容,前端应该能够不阻止该请求。它可以通过两种方式帮助我们:
a.我们可以向后端发送并行请求(并行化 I/O);
b.我们可以提供请求超时 (SLA)。有时最好快速失败并且不要阻止客户端。
因此,考虑到上述所有内容,我认为前端的最佳架构(就我而言,我不是传播 Elixir )是 UI 逻辑,它仅以非阻塞方式与 REST/SOAP 后端通信。你觉得这个东西怎么样?
最佳答案
您可能想为您的前端研究一下node.js - 它是新的,但它有一个非常酷的异步(即非阻塞)架构。确实意味着将 PHP 抛在后面,但如果您进行重大重写,则不会添加太多新工作。
关于java - 前端架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3713960/