【发布时间】:2016-03-11 12:14:50
【问题描述】:
我对如何开发大型 Web 应用程序有一些疑问。 经过一番研究,我想到了一些想法:
1:使用可以处理大量同时请求的语言开发前端。将前端理解为模块/服务 它将负责将页面交付给客户。
2:使用 Nodejs 作为前端语言(这里不推荐使用 golang)。
3:AJAX 会向后端模块发出请求,服务器必须重定向到相应的模块。
4:使用技术(编程语言)将后端分成模块/服务,以便每个模块/服务更好地使用。
5:每个模块都有自己的服务器或一组服务器。
我的问题是:
1:这是开发大型可扩展系统的最佳方式吗?
2:组织服务器级别如何将每个请求重定向到您的服务。因为每个服务都工作 最有效的方法?
好吧,在这里试图澄清我的想法...... 我现在明白我写的问题有多错误了......
该应用程序是一个处理图像处理的应用程序,并且是一个庞大的数据库。 我打算做的是将整个系统拆分为一个前端,只为网页提供服务,后端应用程序将处理所有繁重的工作。 这些应用程序、服务/模块...中的每一个都将公开一个 API,并且前端将使用这些 API,通过 AJAX 来处理用户请求的操作。
对于服务器级别的组织,我的意思是如何让服务器将页面请求重定向到 nodejs 并将数据请求重定向到适当的模块。
简而言之,我想我可以说,服务端如何知道请求是针对 API 还是针对页面的..
我想我正在寻找的是 RPC,但我并不真正理解它的含义,也不明白它是如何工作的。
【问题讨论】:
-
如果我理解正确,您不应该重定向传入的请求,而是从您的前端节点项目到后端服务进行必要的 API 调用。
-
可以说我从我的节点脚本进行了 api 调用。我会使用 url 进行调用,还是像调用服务器中安装的程序一样调用它?我将后端托管在与前端相同的服务器中,并使用 AJAX 调用它。那将涉及一个网址,对吗?服务器如何根据 url 重定向到正确的服务?
标签: node.js scalability