Ruby on rails 使用node.js,您实际上是用js编写业务逻辑,还是它调用您的服务层?

Ruby on rails 使用node.js,您实际上是用js编写业务逻辑,还是它调用您的服务层?,ruby-on-rails,web-services,node.js,Ruby On Rails,Web Services,Node.js,当使用node.js(例如)为主干网.js前端的请求提供服务时,node.js会实际拥有您的应用程序业务逻辑,还是会调用您的web服务后端(例如Rails或Java) 如果它调用Rails/Java,将如何实现?由于它是单线程的,所以很混乱。您的业务逻辑将用Javascript编写。我在两个不同的项目中使用Node.js+Backbone.js。Node非常适合快速轻松地编写后端ReSTful API,Backbone.js非常适合保持客户端逻辑的有序性 与任何web技术一样,客户机/服务器之间

当使用node.js(例如)为主干网.js前端的请求提供服务时,node.js会实际拥有您的应用程序业务逻辑,还是会调用您的web服务后端(例如Rails或Java)


如果它调用Rails/Java,将如何实现?由于它是单线程的,所以很混乱。

您的业务逻辑将用Javascript编写。我在两个不同的项目中使用Node.js+Backbone.js。Node非常适合快速轻松地编写后端ReSTful API,Backbone.js非常适合保持客户端逻辑的有序性

与任何web技术一样,客户机/服务器之间的分离仍然很重要,但Node允许您使用一种语言进行思考/编写,并使用服务器端和客户端的相同库。在小商店里这样做有很多好处,因为在“前端”和“后端”之间不再存在分歧

节点的单线程特性让很多新用户望而却步。。。使用多个proc实例和负载平衡器可以轻松克服这一问题。(如果您需要所有这些……节点是基于事件模型构建的,在您需要考虑运行另一个实例之前可以处理相当多的负载……当然,这完全取决于您是否编写了良好的异步代码)


这是否意味着Node.js+Backbone.js是您项目的最佳答案?没有。但是在做出决定之前,您应该权衡一下使用Node优于Rails/Java/PHP/Python的优点。对我来说,考虑RAD时很简单。。。一种语言,一套文库。。。到目前为止,这是我最喜欢的web堆栈。

我知道这个问题比我们通常在堆栈中遇到的问题更具开放性,但在作为实际业务工作的替身阅读之后,我发现自己在想,节点是否主要用作粘合剂,或者它是否对大多数用户本身起作用……如果您调用外部服务,您可能会发出HTTP请求(异步运行)或派生子进程(也是异步的)。+1表示“这是否意味着Node.js+Backbone.js是您项目的最佳答案?”如果是“此用户的密码正确吗”或“此用户是否有权访问此页面?”节点是否会挂断您的业务逻辑不。但如果是“计算最佳棋步”或其他计算代价高昂的任务,你需要做些什么。@BrandonTilley,虽然计算密集型任务应该通过服务层来完成,但没有任何理由——至少在我们没有细节的情况下——你不能在节点上实现该层。我知道你没有明确地说相反,但考虑到这个问题,澄清一下似乎很好。