美文网首页
NODE 学习 --- 介绍

NODE 学习 --- 介绍

作者: TaoGeNet | 来源:发表于2017-05-10 16:09 被阅读27次

NODE 是什么?

不是独立的语言   不是JavaScript框架  是能都让JavaScript运行在服务端的开发平台

NODE 可以作为服务器向用户提供服务,与PHP、Python相比,跳过了Apache、Nginx等HTTP服务器面向用户提供服务,直接面向前端开发。

Node.js 与JavaScript区别

传统意义上的JavaScript是有ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成

Node.js 只包含ECMAScript的一个实现,不包含DOM和BOM

Node.js 是一个让JavaScript运行在浏览器之外平台,实现了诸如文件系统、模块包、操作系统API、网络通信等Core JavaScript没有或者不完善的功能

Node.js 能做什么

具有复杂逻辑得网站

基于社交网络的大规模web应用

Web Socket 服务器

TCP/UDP套接字应用程序

命令行工具

交互式终端程序

带有图像用户界面的本地应用程序

单元测试工具

客户端JavaScript编译器

Node.js 内建了HTTP服务器,可以轻而易举地实现一个网站和服务器的组合,免去搭建和调用HTTP服务器的过程

异步式I/O与事件驱动

Node.js 采用异步式I/O与事件驱动的架构设计。对于高并发的解决方案,传统的架构是多线程模型,为每个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式I/O调用的时间开销。Node.js使用的是单线程模型,对于所有的I/O都采用异步式的请求,避免了频繁的上下文的切换。Node.js在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式I/O请求完成后会被推送到事件队列,等待程序进程进行处理

Node.js 的异步机制是基于事件的,所有的磁盘I/O、网络通信、数据库查询都以非阻塞的方式请求,返回的结果由事件循环来处理。Node.js进程在同一时刻只会处理一个事件,完成后立即进入事件循环检查并处理后面的事件。

Node.js 的架构

Node.js 用异步式I/O和事件驱动代替多线程,带来可观的性能提升。Node.js除了使用V8作为JavaScript引擎以外,还使用了高效的libev和libio库支持事件驱动和异步式I/O。Node.js 的开发者在libev和libeio的基础上还抽象了层libuv来实现跨平台,提供给POSIX操作系统和windows使用。

Node.js与PHP + Nginx性能对比

Snoopyxd详细对比了Node.js与PHP+Nginx组合,结果显示在3000并发连接、30秒的

测试下,输出“hello world”请求:

         PHP每秒响应请求数为3624,平均每个请求响应时间为0.39秒;

         Node.js每秒响应请求数为7677,平均每个请求响应时间为0.13秒。

而同样的测试,对MySQL查询操作:

         PHP每秒响应请求数为1293,平均每个请求响应时间为0.82秒;

         Node.js每秒响应请求数为2999,平均每个请求响应时间为0.33秒。

相关文章

  • NODE 学习 --- 介绍

    NODE 是什么? 不是独立的语言 不是JavaScript框架 是能都让JavaScript运行在服务端的开发...

  • Node.js从零搭建

    主要是学习了Node.js从零开发Web Server博客,而将学习内容做个总结。 1.nodejs介绍 node...

  • Node之Stream

    最近在学习Node,本篇文章针对与Node中的stream模块做了一些个人学习过程中的理解与介绍。 Node中St...

  • Node全栈技术开发介绍

    Node全栈技术开发介绍 node和js介绍 node服务端开发 node前端vuejs node前端reactj...

  • 01. 介绍

    Node.js 介绍 1.1 为什么要学习 Node.js 企业需求具有服务端开发经验更好front-endbac...

  • Node 介绍

    1. Node能够解决什么问题? Node的首要目标是提供一种简单的,用于创建高性能服务器的开发工具 Web服务器...

  • node介绍

    node 特点 单线程传统的java是为每个连接建一个线程,每个线程需要耗费大约2MB内存。如果需要处理大量的并发...

  • 介绍node

    https://elemefe.github.io/node-interview/#/sections/zh-cn...

  • node笔记

    Node介绍 为什么要学习Node.js 企业需求具有服务端开发经验更改front-endback-end全栈开发...

  • Node.js笔记

    Node介绍 为什么要学习Node.js 企业需求具有服务端开发经验更改front-endback-end全栈开发...

网友评论

      本文标题:NODE 学习 --- 介绍

      本文链接:https://www.haomeiwen.com/subject/eqvwtxtx.html