使用使用Node.js作为完整的云环境开发堆栈作为完整的云环境开发堆栈
使用通过回调的异步 I/O 开发并发模型,并构建聊天服务器
本文探讨 Node.js,这是一个用于 UNIX? 类平台上 V8 JavaScript? 引擎的事件驱动的 I/O 框架,设计这一框架的目的是为了
编写可伸缩的网络程序,如 Web 服务器。本文通过一个完整的例子说明如何在 Node.js 中构建聊天服务器,分析了这个框架
以及围绕它的生态系统(包括云计算产品),并对这个框架进行了总结。
随着技术创新表面上继续以指数级速度发展,新思想层出不穷。服务器端的 JavaScript 就是这些新思想之一。 Node.js 是一
种事件驱动的 I/O 框架,用于 UNIX 类平台上的 V8 JavaScript 引擎,适合于编写可伸缩的网络程序,如 Web 服务器。
Node.js 正是这种新思想的实现。
Node.js 并非与 JavaScript 抗衡,而是使用它作为完整的开发堆栈,从服务器端代码一直延伸到浏览器。Node.js 还充分利用
了另一种 创新思想:通过回调利用异步 I/O 的并发性模型。
Node.js 云计算平台
在云计算环境中使用 Node.js 框架时,能显示出它的一个巨大优点。对于应用程序开发人员,这往往归结使用平台即服务
(PaaS) 或基础架构即服务 (IaaS) 模型。对于开发人员而言,最抽象和公认最方便的方法是使用 PaaS 提供程序。图 1 十分简
单地说明了 PaaS 和 IaaS 模型的结构。
图 1. PaaS 与 IaaS 结构
最近,一个激动人心的开源项目 Cloud Foundry 公布了代码以创建一个能够运行 Node.js 的私有 PaaS。 同样的主机引擎也可
用在公共云和商业云中,而且它们接受软件补丁。
基础架构管理是一大痛点,如果能够将这项工作外包(永远!)给规模经营的提供商,且无论是源代码,还是物理硬件资源,
对于开发人员确实是一个激动人心的时刻。
使用 Node.js shell
在我们着手编写一个完整的 Node.js 例子之前,让我们先开始介绍如何使用交互式 shell。如果尚未安装 Node.js,您可以参考
资源部分,然后按照说明安装它,或者使用在线的交互式 Node.js 站点之一,它允许您直接在浏览器中输入代码。
要在 Node.js 中以交互方式编写 JavaScript 函数,在命令行提示中输入node,如下所示:
lion% node
> var foo = {bar: 'baz'};
> console.log(foo);
{ bar: 'baz' }
>