Node 是一个让 JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。使用node有很多好处但也存在一些弊端,下面就然我们来看一下nodejs有哪些弊端。

node的弊端:

1、大量匿名函数使异常栈变得不好看。

2、无法以request为单位catch异常。

3、Debug很困难。没有stack trace,出了问题很难查找问题的原因。

4、可靠性低

5、单进程,单线程,只支持单核CPU,不能充分的利用多核CPU服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。

以下是一些Node.js的优点:

1、异步和事件驱动

Node.js库的所有API都是异步的,即非阻塞的。它实质上意味着基于Node.js的服务器永远不会等待API返回数据。服务器在调用它之后移动到下一个API,并且Node.js事件的通知机制帮助服务器从先前的API调用获得响应。

2、单线程但高度可扩展

Node.js使用带有事件循环的单线程模型。事件机制有助于服务器以非阻塞方式响应,并使服务器具有高度可伸缩性,而传统服务器则创建有限的线程来处理请求。Node.js使用单线程程序,同一程序可以为比Apache HTTP Server等传统服务器提供更多请求的服务。

3、非常快

基于谷歌Chrome的V8 JavaScript引擎,Node.js库的代码执行速度非常快。

4、无缓冲

Node.js应用程序从不缓冲任何数据。这些应用程序只是以块的形式输出数据。

html网页的弊端,node有哪些弊端?相关推荐

  1. node.js编写网页_为Node.js编写可扩展架构

    node.js编写网页 by Zafar Saleem 通过Zafar Saleem 为Node.js编写可扩展架构 (Writing Scalable Architecture For Nodejs ...

  2. 回调函数 相当于线程_阿里面试题:请简述下 Node 的线程模型

    前言 如果你有一定的前端基础,比如 HTML.CSS.JavaScript.jQuery:那么,Node.js 能让你以最低的成本快速过渡成为一个全栈工程师(我称这个全栈为伪全栈,我认为的全栈也要精通 ...

  3. Node.js模块化开发(非常详细,满满的干货)

    下面是对Node.js模块化开发的整理,西洼港可以帮助到有需要的小伙伴~ 文章目录 Node.js模块化开发 JavaScript开发弊端 Node.js模块化开发 模块成员导出的export方法 模 ...

  4. php设置对ws的请求不拦截,phpsocket服务端能不能在网页端开启?而不是只能用CLI模式开启...

    最近在做基于php socket的聊天程序,但是遇到了个问题: 开启ws端口只能在CMD下用php server.php的方式来开启端口,并不能关闭该CMD命令行窗口,一旦关闭就断开了socket连接 ...

  5. node.js介绍及Win7环境安装测试(转)

    官网描述: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...

  6. 日记--node.js 和nginx对比环境变量立刻生效https://www.cnblogs.com/zht-blog/p/4033951.html

    Nginx的性能比Node.js的HTTP模块要好很多 但Nginx考量的是面向客户端, 后端业务方面依然是受具体业务影响,而Node.js则可以利用异步I/O来实现业务并行,以提升效率 Nginx没 ...

  7. node基础知识部分小记

    Day01 1.严格模式 1)变量必须写var 2)this不能指向window 3)eval有独立的作用域 使用目的:为了后面ES6做铺垫 2.json对象 1)Unexpected token ' ...

  8. Node.js---菜鸟教程

    文章目录 创建第一个应用 创建 Node.js 应用 NPM 使用介绍 使用 npm 命令安装模块 本地安装 使用 package.json 模块的操作 回调函数 阻塞代码实例 非阻塞代码 事件循环 ...

  9. chromium加载网页

    站在老罗的肩膀上:https://blog.csdn.net/luoshengyang/article/details/50414848 Chromium加载网页的过程,需要Browser进程和Ren ...

最新文章

  1. Mysql binlog日志及binlog恢复数据库操作
  2. 明略科技完成2亿美元E+轮融资,中俄投资基金领投,腾讯、弘卓资本等跟投
  3. C 语言中赋值表达式的返回的逻辑值
  4. java integer 不变模式_Java代码的变与不变
  5. python 虚拟环境_理解Python虚拟环境
  6. python调用ctypes中windll中的方法超时处理_python中使用ctypes调用MinGW生成的动态链接库(dll)...
  7. ffmpeg和SDL学习笔记
  8. Unix下5种I/O模型
  9. linux内核那些事之early boot memory-memblock
  10. ssms18还原数据_SSMS 18中的静态数据屏蔽
  11. python 通配符域名_LeetCode-python 44.通配符匹配
  12. 在Objective-C中,如何测试对象类型?
  13. 位图图像和矢量图形的区别
  14. IE安全系列:脚本先锋(IV)—网马中的Shellcode
  15. 基于朴素贝叶斯算法实现情感分类
  16. 全面解析Sbo业务审批流程与结构
  17. android自定义吸顶,Android ScrollView+ViewPager 固定顶部控件,自动吸顶效果
  18. 向量线性无关和正交及其关系
  19. python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)...
  20. 8个质量极高的资源网站,建议低调使用

热门文章

  1. APP推广要掌握什么核心技能?9位大神实战分享
  2. 高手不用Redis内存数据库一
  3. 高并发内存占用持续下降_高并发性能调试经验分享
  4. Oracle clusterware
  5. Cocos 人才在线教育专场招聘 | 12月岗位
  6. MySQL---关于数据表的基本语句及操作 (上)
  7. 2020年秋招面试记录——爱奇艺笔试
  8. 软件设计模式 SOLID 原则 - SOLID Principles
  9. 搜索引擎下拉食云速捷详细_搜索框下拉优化雀云速捷好口碑
  10. 深澜系统服务器架构,智圣新创|深澜4K 3a Radius进程故障处理案例