《Node学习指南》一1.4 Node的优势

简介:

本节书摘来自异步社区《Node学习指南》一书中的第1章,第1.4节,作者【美】Shelley Powers,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 Node的优势

Node学习指南
现在,你至少已经安装了一个(或多个)可用的Node版本。

你也有机会去创建多个Node应用程序,并且通过测试发现同步与异步编码之间的差异(以及不小心忘记了var关键字的情况)。

Node使用的函数调用并不都是异步的。一些对象针对同一功能可能会同时提供同步与异步版本的实现。尽管如此,如果你能尽可能多的进行异步编码,将会使Node工作得更好。

Node的事件循环和回调函数给我们带来了两大好处。

首先,应用程序可以很容易地扩展,因为执行一个单线程并不会有非常大的资源开销。如果我们用PHP创建一个类似于示例1-3的Node应用时,用户会看到相同的页面(但你的系统肯定会注意到其中的差别)。如果你在Apache中运行该PHP应用程序并默认使用prefork MPM,那么在每次应用程序接收到请求时,请求将被放在一个单独的子进程中来处理。倘若你能够拥有一个强大且高效的负载均衡系统,同时并行运行(最多)几百个子进程或许是有可能的。不过当访问量超过这个数字时,就意味着客户端需要等待响应了。

Node的第二个优势在于无需诉求于多线程开发,却达到了节约又能高效使用资源的目的。换句话说,你不必创建一个线程安全的应用程序。倘若你曾经开发过要求线程安全的应用程序,或许此时你会感到非常欣喜。

无论如何,正如前面示例应用程序所展示的那样,你不是在开发浏览器中运行的JavaScript应用程序。当你开发异步应用时,不能假设一个异步函数在另一个函数被调用前就执行完成,因为这是无法保证的(除非你在第一个回调函数中调用另一个)。此外,全局变量在Node中是非常危险的,特别是在你忘记了var关键字时。

虽然这些问题存在,但并不妨碍我们在工作使用Node,特别是考虑到它的低资源需求优势,以及不必担心线程安全问题。

提示:
或许喜欢Node的原因也可以是毫无顾虑地写JavaScript代码而无需担心IE6了。

相关文章
|
6月前
|
负载均衡 JavaScript 算法
Node.js 多进程的概念、原理、优势以及如何使用多进程来提高应用程序的性能和可伸缩性
Node.js 多进程的概念、原理、优势以及如何使用多进程来提高应用程序的性能和可伸缩性
154 1
|
18天前
|
JavaScript 前端开发 API
探索后端技术:Node.js的优势和实际应用
【10月更文挑战第6天】 在当今数字化时代,后端开发是任何成功软件应用的关键组成部分。本文将深入探讨一种流行的后端技术——Node.js,通过分析其核心优势和实际应用案例,揭示其在现代软件开发中的重要性和潜力。
78 2
|
3月前
|
JavaScript 前端开发 安全
Node.js和Go有何优势?
【8月更文挑战第4天】Node.js和Go有何优势?
48 3
|
JavaScript 前端开发 Java
你觉得Node.js与JAVA相比,其优势在哪里?未来会超越JAVA吗?
你觉得Node.js与JAVA相比,其优势在哪里?未来会超越JAVA吗?
354 1
|
6月前
|
JavaScript Java UED
详细介绍 Node.js JXcore 打包的使用方法和优势
详细介绍 Node.js JXcore 打包的使用方法和优势
123 0
|
Web App开发 JavaScript 前端开发
《Node学习指南》一导读
Node相关的技术依然年轻充满生机,经常出现有趣的变化和改动。同时,这项技术也达到了一定的成熟度,可以确保你在学习Node上花费的时间是值得的:即使在Windows上安装也非常简单;从成百上千的可用模块中涌现出了最佳组合模块;对于产品环境来说这种结构足够健壮。
1857 0