繁体   English   中英

使用Node.js将RESTful服务与主网站体系结构分离

[英]Separating RESTful services from main web site architecture using Node.js

我正在开始一个新项目,我希望对我的服务器架构的想法有所了解。 这是设置:

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

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

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

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

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

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

网站/ 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(...);

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

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

https://github.com/rahpal/RestOnNode

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM