3

我正在开始一个新项目,我想就我的服务器架构想法发表意见。这是设置:

  1. 许多设备(手机、平板电脑)上都有一个客户端应用程序。这些都需要与服务器建立 RESTful 连接以获取数据。该服务器已经存在并且正在运行 Node.js 和 Express 来提供 JSON。

  2. 我需要建立一个客户网站,该网站需要访问与其他客户端设备相同的数据。用户将登录该网站,与他们的帐户进行交互等。该服务器可以运行 Node.js、Apache 或任何工作。

对我来说,让 RESTful 服务器完全无状态并真正只回答 Web 服务请求似乎是最有意义的。这意味着我需要使用单独的服务器(或无人机)来运行网站,并将该服务器视为 RESTful 服务器的另一个客户端。

我是否过于复杂了?从同一服务器提供 JSON(用于设备)和 HTML(用于浏览器)并将用户会话状态引入该服务器是否有意义?

4

2 回答 2

4

将客户网站开发为自己的东西,并让它像任何其他客户端一样使用 REST API。

将其开发为快速应用程序并use从主 REST 服务器开发可能会很方便。

网站/index.js:

var app = require('express')();
app.get('/', function(req, res) { res.send('<h1>Website</h1>'); });
module.exports = app;

然后在您的主 REST 服务器中:

...
app.use(require('../website'));
app.listen(...);

这使您几乎可以将网站视为不同的应用程序,但仍从同一服务器托管它。如果需要,以后可以很容易地将网站作为自己的服务器运行。

于 2013-08-29T22:41:15.877 回答
0

我为这种情况创建了一个单独的项目。供参考,请遵循此

https://github.com/rahpal/RestOnNode

于 2015-01-12T12:19:58.913 回答