我正在开始一个新项目,我希望对我的服务器架构的想法有所了解。这是设置:
许多设备(手机,平板电脑)都有一个客户端应用。这些都需要与服务器建立RESTful连接以获取数据。此服务器已存在,并且正在运行Node.js和Express以提供JSON。
我需要建立一个客户网站,需要访问与其他客户端设备相同的数据。用户将登录此网站,与他们的帐户进行交互等。此服务器可以运行Node.js,Apache或其他任何工作。
对我来说,保持RESTful服务器完全无状态并且真正只回答Web服务请求似乎是最有意义的。这意味着我需要使用单独的服务器(或无人机)来运行网站,并将此服务器视为RESTful服务器的另一个客户端。
我是否过于复杂?仅从同一服务器提供JSON(用于设备)和HTML(用于浏览器)并将用户会话状态引入该服务器是否有意义?
答案 0 :(得分:4)
开发客户网站作为自己的东西,让它像任何其他客户一样使用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(...);
这使您几乎可以将网站视为不同的应用程序,但仍然可以从同一台服务器托管它。如果需要,以后可以很容易地将网站作为自己的服务器运行。
答案 1 :(得分:0)
我为这种情况创建了一个单独的项目。 如需参考,请按照
进行操作