node.js - 为什么 Node.js 具有可扩展性?

标签 node.js scalability

node.js 可扩展,那是什么意思? node.js 服务器的哪一部分是可扩展的。我读到它是一种单线程技术,不适合需要大量 CPU 资源的应用程序。这些事实不符合可扩展性,那么这是什么意思?

最佳答案

node 运行的 javascript 是单线程的,但是你在 node 中调用的很多东西——比如网络或文件 io——在后台线程中运行。有关基本概述,请参阅此帖子: Node is not single threaded

如果您需要详细的细节,您应该查看 libuv,它是将线程转换为事件循环的“神奇”部分: http://nikhilm.github.io/uvbook/basics.html#event-loops

此外,如果您需要在 Node 本身执行一些 CPU 密集型操作,您可以轻松地将其发送到子进程 - 参见 http://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options了解详情

关于node.js - 为什么 Node.js 具有可扩展性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949483/

相关文章:

javascript - 模型中的 Backbone 集合 + 使用 Node.js 的 Restful 服务器设计

javascript - 包含外部 JS 文件的 NodeJS Express sendFile

database - 一对多的可扩展性和获取许多的效率 - parse.com

python - Django 可以扩展吗?

node.js - 无法将数据从 Angular 发布到我的 Nodejs api

node.js - 如何默认设置脚本在 node.js 中的 package.json 中静默运行(如 npm run -s scriptname)?

playframework - 如何调整 Play Framework 应用程序的可扩展性?

session - 如何避免给定分布式架构的单点故障

mysql - 担心新站点的可扩展性

javascript - Node 通过构造函数创建实例