Engine Yard 增加对 Node.js 的支持

  • Werner Schuster
  • 贾国清

2011 年 11 月 28 日

话题:RubyJavaScriptNode.js语言 & 开发

Node.js已被越来越多的服务提供商所支持,其中就包括它的主要赞助商Joyent以及如Heroku这样的 PaaS 提供商。日前,Engine Yard宣布了对 Node.js 的支持

InfoQ 为此采访到了 Engine Yard 的技术副总裁,Nic Williams 博士

InfoQ: Node.js 的支持是以新产品的形式还是仅仅是个尝试?

对 Node.js 的支持目前只是一个尝试——该尝试属于 Engine Yard 的实验项目之一。Engine Yard 的云平台已经提供了对 Node.js 的支持,所以,也不会是一个完全分离的环境。

InfoQ: 在 Engine Yard,是如何处理 Node.js 的并发问题的?比如,我是否可以通过并发执行代码的方式来启动多个 Node.js 实例,这些实例是如何管理和相互连接的?

我们在 HAproxy 和 Nginx 的应用部署环境运行 Node.js。通过在 nginx 上打补丁的方式为 Node.js 增加了 WebSocket 的支持。每个 CPU 执行一个 Node.js 进程。

InfoQ: 在管理 Node.js 进程时,你们借鉴了哪些解决方案

我们直接通过 nginx 来管理 Node.js 应用。目前有很多种集群的方式可供选择,每种配置都可以构建到应用的代码级别,而不是到应用服务器中配置。我们将集群的选择权交给了 Node.js 的开发者。

InfoQ: 如何为 Node.js 提供和扩展计算资源,例如,可否动态地添加新的计算单元?

同我们的 Ruby 环境类似,Node.js 环境可以在启动时启动一个单独的虚拟机和一个相应的数据库,同时支持升级和扩展(通过仪表盘)。

InfoQ: 是否会考虑增加像Cloud9的这种在线 JavaScript 的集成开发环境?

现在还没有专门为 IDE 做支撑,客户可以使用他们喜欢的 IDE,而且就目前来讲,还没有接到与 IDE 相关的问题。

InfoQ: 在 Engine Yard 内部,有没有使用任何 Node.js 应用或相关服务?

我们正在尝试在内部构建测试应用,但就目前来说,生产环境平台上还没有使用 Node.js。

查看英文原文:Engine Yard Adds Node.js Support

RubyJavaScriptNode.js语言 & 开发