【问题标题】:Is node.js ready for production use? [closed]node.js 准备好用于生产了吗? [关闭]
【发布时间】:2011-02-24 21:46:59
【问题描述】:

开始一个新项目。它基本上是一个博客/评论系统。

我们正在考虑将 node.js 作为后端服务器。 node.js 是否已经为这类事情做好了准备,还是为时过早和实验性的?

我们需要 HTTPS 和 gzip 压缩 - 也许前端 nginx 服务器可以提供这个?

node.js 中缺少什么会使开发 Web 应用程序变得困难?

从生产就绪的角度来看,我们想知道它是否足够稳定,可以在其上构建商业应用。

谢谢

【问题讨论】:

  • 基于意见投票结束。
  • 嗯,这与水是否湿的问题一样多。虽然我一点也不喜欢 node.js,但有一些令人印象深刻的参考用户,例如 eBay、GoDaddy、LinkedIn、PayPal、Shutterstock、Trello 和 Zendesk。

标签: nginx production node.js


【解决方案1】:

Node.js 真的很棒。但是现在生产使用很复杂。实际上,每个版本的 API 都会更改多次,并且可以多次更改。因此,您需要修复特定版本。迁移可能会很痛苦。

【讨论】:

    【解决方案2】:

    这只是另一种工具,具有不同的优点和缺点。如果您的项目经过仔细计划,您不应该遇到重大问题。 Node.js 是一个非常活跃的项目,它应该很快就会稳定下来。如果您的团队最终决定使用 node.js,请在您使用它时将任何发现/解决方案/代码或任何有价值的信息回馈给社区。那真的很有帮助。活跃的人越多,node.js 的进展就会越快。

    【讨论】:

      【解决方案3】:

      更新: 快一年过去了,现在我肯定会在实时系统中使用 node.js。

      还没准备好。它确实是一款很棒的软件,但还不适合生产使用。 node.js 的开发者本人在一次演讲中表示,它可能充满了 bug 和安全问题。

      这是谈话:http://www.yuiblog.com/blog/2010/05/20/video-dahl/

      他建议如果要在生产环境中使用它,您应该将它放在像 nginx 这样的稳定​​ http 代理之后,但他完全不鼓励这样做。

      我将等待产品发布,然后在我的本地计算机上使用它。

      【讨论】:

      • 我以为他只是谦虚;)
      • 请注意,那是差不多一年前的事了。以下是大批量生产使用的示例:serverfault.com/questions/133784/….
      • 是的,现在我实际上会使用 node.js 进行生产。
      【解决方案4】:

      我将它用于生产站点。它已经上线了几个月,我对节点运行时没有任何问题。坚持使用最新的稳定版本(当前为 0.2.6)。

      社区编写的第 3 方模块是您可能遇到问题的地方。有些模块比其他模块更稳定。节点社区已经在 github 上进行了标准化,因此很容易分叉和修复您遇到的问题。但是请准备好卷起袖子去破解 - 您可能需要修复您使用的模块中的一些错误。

      总的来说,我很高兴使用 node.js

      【讨论】:

        【解决方案5】:

        它仍然有一些粗糙的边缘,但我想说它已经可以使用了(我即将推出一个基于它的生产站点)。 Here's an article 描述 3 家公司如何在生产中使用它。


        您可能仍会发现自己发现/修复了偶尔出现的错误,但这正是社区真正闪耀的地方。

        【讨论】:

          【解决方案6】:

          (更新答案)2013 年 6 月(版本 0.10.12):

          Node.js 已准备好投入生产,它稳定且速度非常快。

          我在带有Redis 的实时服务器上使用它,使用SmartOS VMdtrace and flamegraph 进行分析(在开发服务器上)。它也很好地取代了我用于创建网站的 Apache/PHP 堆栈。

          查找最新模块的最佳方法是Nipsternpmjs

          由于有些模块不够成熟,找到合适的模块有时是一个迭代过程。

          --

          (旧答案)2012 年 5 月(版本 0.6.18):

          Node.js 及其 API 似乎足够稳定,可用于生产环境。

          然而,它的生态系统并不稳定:大多数模块还不稳定,而且很多模块不再维护(最后一次提交是 8 到 18 个月 - 你可以查看modules 的 github 页面)

          目前,使用模块通常需要积极参与:订阅其邮件列表并在需要时对其进行修补。

          【讨论】:

            猜你喜欢
            • 2016-07-05
            • 2010-10-19
            • 2011-08-13
            • 1970-01-01
            • 2012-04-25
            • 1970-01-01
            • 2011-11-15
            • 1970-01-01
            • 2012-05-10
            相关资源
            最近更新 更多