3

我需要通过 WebSocket 使用 JSON 格式的数据流,并将数据按原样发送到 Redis 服务器。这就是这个应用程序需要做的所有事情;没有 UI,不需要处理任何请求,根本不需要处理数据。

我想获得最小的占用空间和最高的性能。你认为 Node.js/V8 会比 Java/JVM 更好地处理这种情况吗?我介于这两个选项之间,因为我可以管理这些选项,尽管我的主要技能是 Java。

4

3 回答 3

4

这完全取决于您安装应用程序的环境,以及您对每个环境的经验。

基于节点事件循环的模型非常有效,但是我发现 Java 在 CPU 密集型任务中表现更好。我不认为自己是这两个方面的专家(大约 10 个月的 Node.js,3 年的兼职 Java 经验)所以不要把我的回答当成福音。

在您的情况下,您只是真正执行 I/O,这是 Node.js 擅长的地方,如果您擅长 JavaScript,请选择 Node!

于 2012-05-04T19:10:11.233 回答
3

在这种情况下,Node.js 和 socket.io 很容易设置和部署。易于部署。您将在内存使用问题上大约 20-30mb 内存,而 metrix 的性能在这里很难,因为它很难对 websockets 进行基准测试。如果它没有部署在heroku上,那么我会选择node.js

您可以使用node.js + socket.ionode.js / ruby + faye.

流量生成 < 8k 请求/秒,使用非常基本的 VPS / 硬件设置对它们都应该没问题。

我在 ruby​​ 上使用 faye 与 1.1k 客户端通过 Web 套接字聊天,出现 0 个问题。我们在 node.js 聊天中拥有 4k 的峰值客户端。非常基础的硬件。

于 2012-05-04T18:42:28.737 回答
0

Node.js如果你有足够的经验,我会建议你。

于 2012-05-04T18:41:45.667 回答