哈希值的计算永不结束 。该用户放弃了并尝试再次上传 。一次又一次 。整个应用程序最终因内存错误而崩溃 。
该问题通过在子进程中运行散列算法最终被解决 。Express应用程序保持稳定 , 因为它启动、监控并在计算时间过长时终止了计算 。
child process API允许你运行子进程,如有必要你可以监控并终止 。这里有三个选项:
spawn
:生成子进程 。fork
:特殊类型的spawn
,可以启动一个新的Node.js进程 。exec
:生成shell
并运行一条命令 。运行结果被缓冲,当进行结束时返回一个回调函数 。
worker
线程,子进程独立于Node.js主脚本,并且无法访问相同的内存 。Clusters当你的Node.js应用程序在单核上运行时,你的64核服务器CPU是否没有得到充分利用?Cluster允许你
fork
任何数量的相同进程来更有效地处理负载 。对于
os.cpus()
返回的每个CPU,初始的主进程可能会fork
自己一次 。当一个进程失败时,它也可以处理重启,并在fork
的进程之间代理通信信息 。集群的工作效果惊人 , 但你的代码可能变得复杂 。更简单和更强大的选择包括:
- 进程管理器比如PM2,它提供了一个自动集群模式
- 容器管理系统,如Docker或Kubernetes
总结本文提供了一个比较有用的Node.js API的例子 , 但我鼓励你浏览文档,自己去发现它们 。文档总体上是好的 , 并展示了简单的例子,但它在某些地方可能是简略的 。
以上就是本文的所有内容,如果对你有所帮助,欢迎点赞收藏转发~
- 本文译自:https://www.sitepoint.com/useful-built-in-node-js-apis/
- 作者:Craig Buckler
推荐阅读
- 原神没有课题的答案任务是什么
- 平价好用的眼影有哪些?2018眼影排行榜十强
- 华为手机要恢复出厂设置的利弊(华为手机恢复出厂设置有问题吗)
- 赛马娘手游特雷森学院特别任务有哪些
- 红米note11和小米11有什么区别_哪款值得入手
- 怎样看电脑配置高低,决定电脑价格的因素有哪些
- 惠普星13air缺点_惠普星13air有哪些问题
- Java:既然有了synchronized,为什么还要提供Lock?
- 原神坎蒂丝天赋升级材料有哪些
- 四年级数学脱式计算题 四年级数学脱式计算题500道