整个网站与node.js和mongodb?

我已经build立了几个使用PHP和MySQL作为后端的网站,并且相信我对这两者都相当熟悉。 然而,在我的新网站的研究中,我遇到了node.js和mongodb(和socket.io,因为该网站将包含聊天)。

我决定使用node.js和mongodb来运行聊天 – 但是不知道是否应该用这两个东西来做整个站点? 既然我要运行一个节点服务器,无论如何我应该运行另一个(单独)托pipe网站? 或者这是一个坏主意? – 它是稳定的吗? 我可以在PHP中编程,仍然使用mongodb – 但不会节点更快?

还有一个问题:我已经计划使用Ajax来处理页面的所有post – 但是因为我已经在使用socket.io进行聊天了 – 我是否应该使用它来完成所有的发布请求? 对于我计划使用jQuery(也适用于所有前端效果)的ajax。

不知道我是不是应该用这两样东西来做整个网站?

如果你想学习node.js,那么没有比编码更好的了。

既然我要运行一个节点服务器,无论如何我应该运行另一个(单独)托pipe网站?

您可以使用现有的服务器并在其他自由端口(o)上运行您的node.js应用程序。 我认为学习节点,你不需要有专用的机器。

它是稳定的吗?

即使版本的node.js也是稳定的版本,但是直到有1.0版本的特性冻结,才有可能对其API进行重大更改。

我可以在PHP中编程,仍然使用mongodb – 但不会节点更快?

它最有可能(肯定)会。

我已经计划使用Ajax来处理页面的所有post – 但是因为我已经使用socket.io来聊天了 – 我是否应该使用它来完成所有的发布请求?

我会build议坚持到MVC模式,并使用快递,因为如果你将使用socket.io经典的东西,你可以进入很多耗时的麻烦。 Socket.io是即时function和相关的东西。

已经有一些坚实的node.js web框架,特别是Express out。 这里有一篇非常好的文章,概述了构buildnode.js网站的一些经验教训和经验:

在Node.js中构build一个真正的网站是什么感觉?

关于你的第二个问题,使用AJAX处理程序和HTTP与jQuery可能是最好的。 我不知道,jQuery支持原始TCP套接字callback。

node.js + express + jade + stylus + jQuery是我的首选环境。

永远使用自动重新启动服务器我从来没有任何真正的正常运行时间问题,即使我有错误的定期服务器崩溃。

至于socket.io + jQuery ,它们相处得很好,但它不像express + jQuery组合那么自然。 我会坚持做大多数事情的Ajax电话。

Node.JS仍然可以有点像狂野西部,但它的改进。 这是一个非常不同的模式在PHP编码,但它非常适合很多网站。 您可能想要使用类似于BackBone.js的更胖的客户端来执行瘦服务器(公开REST API和WebSocket端点)以保持交互的干净。

在节点中完成整个事情的巨大胜利是,你不会在php和js之间的代码重复处理数据库或任何其他所需的服务。 Node.JS在处理大量的并发请求方面也非常出色。

祝你好运