Node.js实战1.4 DIRT程序_Node.js实战1.4 DIRT程序试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Node.js实战 > 1.4 DIRT程序

Node.js实战——1.4 DIRT程序

实际上,Node所针对的应用程序有一个专门的简称:DIRT。它表示数据密集型实时(data-intensive real-time)程序。因为Node自身在I/O上非常轻量,它善于将数据从一个管道混排或代理到另一个管道上,这能在处理大量请求时持有很多开放的连接,并且只占用一小部分内存。它的设计目标是保证响应能力,跟浏览器一样。 对Web来说,实时程序是个新生事物。现在有很多Web程序提供的信息几乎都是即时的,比如通过白板在线协作、对临近公交车的实时精确定位,以及多人在线游戏。不管是用实时组件增强已有程序,还是打造全新的程序,Web都在朝着响应性和协作型环境逐渐进发。而这种新型的Web应用程序需要一个能够实时响应大量并发用户请求的平台来支撑它们。这正是Node所擅长的领域,并且不仅限于Web程序,其他I/O负载比较重的程序也可以用到它。 Browserling (browserling.com,见图1-3)就是一个用Node开发的DIRT程序,它是一个很好的范例。在这个网站上,我们可以在浏览器中使用各种浏览器。这对Web前端开发工程师来说特别有用,因为他们再也不用仅仅为了测试就去装一堆的浏览器和操作系统了。Browserling用了一个叫做StackVM的由Node驱动的项目,而StackVM管理了用QEMU(快速模拟器)模拟器创建的虚拟机,QEMU会模拟运行浏览器所需的CPU和外设。 图1-3 Browserling: 用Node.js做跨浏览器的交互测试 Browserling在VM中运行测试浏览器,将键盘和鼠标的输入数据从用户的浏览器中转到模拟出来的浏览器中,然后将模拟浏览器中要重新渲染的区域转出来,在用户浏览器的画布上重新画出来。图1-4向我们呈现了这一过程。 Browserling还有一个使用Node的互补项目Testling(testling.com),它可以通过命令行在多个浏览器上并行运行测试包。 Browserling和Testling都是很好的DIRT程序范例,并且构建像它们这样可伸缩的网络程序所用的基础设施在你坐下来写第一个Node程序时就在发挥作用了。我们来看看Node的API是如何提供这些开箱即用的工具的。 图1-4 Browserling的工作流

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Node.js实战》其他试读目录

• 1.1 构建于JavaScript之上
• 1.2 异步和事件触发:浏览器
• 1.3 异步和事件触发:服务器
• 1.4 DIRT程序 [当前]
• 1.5 默认DIRT
• 1.6 小结
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •