Engine Yard增加对Node.js的支持
jopen 13年前
<div id="news_body"> <p> <a href="/misc/goto?guid=4958201619148401888">Node.js</a> 已被越来越多的<a href="/misc/goto?guid=4958201619893805319">服务提供商</a>所支持,其中就包括它的主要赞助商 <a href="/misc/goto?guid=4958201620634685676">Joyent</a> 以及如 <a href="/misc/goto?guid=4958201621376890190">Heroku</a> 这样的 PaaS 提供商。日前,<a href="/misc/goto?guid=4958185704516872926">Engine Yard</a> 也<a href="/misc/goto?guid=4958201622780466182">宣布了对 Node.js 的支持</a>。</p> <p> InfoQ 为此采访到了 Engine Yard 的技术副总裁,<a href="/misc/goto?guid=4958201623541213555">Nic Williams 博士</a>。</p> <p> <strong>InfoQ</strong>: Node.js 的支持是以新产品的形式还是仅仅是个尝试?</p> <blockquote> <p>对 Node.js 的支持目前只是一个尝试——该尝试属于 Engine Yard 的实验项目之一。Engine Yard 的云平台已经提供了对 Node.js 的支持,所以,也不会是一个完全分离的环境。</p> </blockquote> <p> <strong>InfoQ</strong>: 在 Engine Yard,是如何处理 Node.js 的并发问题的?比如,我是否可以通过并发执行代码的方式来启动多个 Node.js 实例,这些实例是如何管理和相互连接的?</p> <blockquote> <p>我们在 HAproxy 和 Nginx 的应用部署环境运行 Node.js。通过在 nginx 上打补丁的方式为 Node.js 增加了 WebSocket 的支持。每个 CPU 执行一个 Node.js 进程。</p> </blockquote> <p> <strong>InfoQ</strong>: 在管理 Node.js 进程时,你们借鉴了哪些<a href="/misc/goto?guid=4958201624288514878">解决方案</a>?</p> <blockquote> <p>我们直接通过 nginx 来管理 Node.js 应用。目前有很多种集群的方式可供选择,每种配置都可以构建到应用的代码级别,而不是到应用服务器中配置。我们将集群的选择权交给了 Node.js 的开发者。</p> </blockquote> <p> <strong>InfoQ</strong>: 如何为 Node.js 提供和扩展计算资源,例如,可否动态地添加新的计算单元?</p> <blockquote> <p>同我们的 Ruby 环境类似,Node.js 环境可以在启动时启动一个单独的虚拟机和一个相应的数据库,同时支持升级和扩展(通过仪表盘)。</p> </blockquote> <p> <strong>InfoQ</strong>: 是否会考虑增加像 <a href="/misc/goto?guid=4958201625034553133">Cloud9</a>的这种在线 JavaScript 的集成开发环境?</p> <blockquote> <p>现在还没有专门为 IDE 做支撑,客户可以使用他们喜欢的 IDE,而且就目前来讲,还没有接到与 IDE 相关的问题。</p> </blockquote> <p> <strong>InfoQ</strong>: 在 Engine Yard 内部,有没有使用任何 Node.js 应用或相关服务?</p> <blockquote> <p>我们正在尝试在内部构建测试应用,但就目前来说,生产环境平台上还没有使用 Node.js。</p> </blockquote> <p> <strong>查看英文原文:</strong><a href="/misc/goto?guid=4958201625780267759">Engine Yard Adds Node.js Support</a></p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958201626511581274" target="_blank">InfoQ</a> </div> </div>