11

我们将为我们的应用程序开发rest服务器(所有逻辑都在客户端javascript上)。所以我们考虑使用 Phalcon php,但我们还需要创建实时聊天系统,使用 node.js 更容易做到这一点。这让我们考虑使用 node.js 而不是 phalcon

不幸的是,我们对 node.js 的经验并不好,我们喜欢 phalcon 的性能和内在美。

问题是,有人比较 phalcon 和 node.js 的性能吗?可能最好仅将 node.js 用于长轮询聊天请求,但我不喜欢项目与如此不同的工具连接时。

4

3 回答 3

5

您正在尝试比较 IMO 的两种不同的事物。

node.js 具有强大的功能和灵活性,但 Phalcon 也是如此。如果你想用 Phalcon 创建一个聊天应用程序,那么你需要在浏览器中实现某种轮询机制,每 X 秒刷新一次聊天窗口。从数据库中获取/插入数据将是 Phalcon 的工作。Javascript 将用于进行轮询,即每 X 秒刷新一次聊天页面。

这种方法的问题在于,您可能每 X 秒从每个打开了聊天应用程序的客户端访问您的 Web 服务器 - 从而刷新聊天内容,即使没有消息也是如此。这会很快变得非常密集。

node.js 能够立即向订阅的客户端发送消息。我相信 Web 套接字可以做同样的事情。

观看此视频,它将让您了解如何轻松实现这一目标:

https://www.youtube.com/watch?v=lW1vsKMUaKg

这个想法是使用不会给您的硬件带来负担的技术,而是与之协作。拥有“订阅”通知系统(例如套接字或 node.js)可以减少应用程序的负载,因为只有订阅的客户端会收到新消息,而聊天客户端不需要完全刷新。

Phalcon 的速度非常适合后端,它可用于构造消息,然后将消息传递给传输层并发送给客户端。根据您希望如何实现这一点,有很多选择,您可以轻松混合和匹配技术:)

于 2013-05-21T15:44:58.883 回答
2

正如@Nikolaos Dimopoulos 所说,您正在尝试比较两种不同的事物。

但这里是我的建议,虽然您对 PhalconPHP 框架有经验,并且想从 Phalcon 的速度和性能中受益,但您可以在 Phalcon FW 中实现 Web 应用程序,并将 Node.JS 中的聊天系统作为服务实现。

如果您的 Web 应用程序“The Phalcon 应用程序”需要从后端推送消息,您可以使用 http://elephant.io/ 库来实现,我之前使用 Yii 框架和 Node 完成了此操作,并且运行良好。

于 2014-12-13T13:07:05.313 回答
1

我的建议是使用你已经知道的东西,只为聊天应用程序试验 nodejs。
主要是因为你说你没有使用它的经验,所以,因为聊天应用程序是很多人制作的,你会发现很多例子。

通过这样做,您将从 node 中学到很多东西,如果它适合您的需要,甚至可以考虑从 Phalcon 迁移,例如使用expressjs提供的功能。

我不会根据性能选择一个。

于 2013-05-20T14:15:34.437 回答