• 【读书笔记】《深入浅出nodejs》第一章 Node简介


    1. Node的官方网站: http://nodejs.org

    2. Node的缘起:

      Ryan Dahl 打算设计一个高性能的Web服务器。

      Ryan Dahl 认为设计高性能Web服务器的要点在于:

        (1)事件驱动

        (2)非阻塞I/O

        (what? && why?)

      Ryan Dahl 选择使用JavaScript作为该服务器的实现语言,起名为Node。

      *为什么是JavaScript?

        (1)高性能

        (2)符合事件驱动

        (3)没有历史包袱

    3. Node的特点

      (1)保留前端浏览器JavaScript中熟悉的接口,没有改写语言本身的任何特性,依旧基于作用域链和原型链。

      (2)异步I/O,在Node中,绝大多数的操作都以异步的方式进行调用。

      (3)事件与回调函数。事件的编程方式具有轻量级,松耦合,只关注事物点的优势。

      (4)单线程。不用像多线程编程那样处处在意状态的同步问题,这里没有死锁的存在,也没有县城上下文交换所带来的性能上的开销。

      *单线程的缺陷:

        (1)无法利用多核CPU

        (2)错误会引起整个应用退出,应用的健壮性值得考验。

        (3)大量计算占用CPU导致无法继续调用异步I/O -> 已使用child_process解决

      (5)跨平台

    4.Node的应用场景

      (1)I/O密集型 -> Node面向网络且擅长并行I/O,能够有效地组织起更多的硬件资源,从而提供更多好的服务。(主要优势在于Node利用时间循环的处理能力,而不是启动每一个线程为每一个请求服务,资源占用极少。)

      (2)CPU密集型 -> 诀窍在于如何合理调度。

      (3)分布式应用

  • 相关阅读:
    JAVA中的浅拷贝与深拷贝
    Spring异步-@Async注解
    Spring 事务传播行为的使用
    DecimalFormat的使用
    Java编码问题原因以及解决
    Spring
    [TimLinux] docker CentOS7 入门——容器(1)
    [TimLinux] asciinema Linux终端录制工具嵌入私有web中
    [TimLinux] docker CentOS7安装docker-ce最新版
    [TimLinux] systemd 精通CentOS7系统启动systemd
  • 原文地址:https://www.cnblogs.com/libinfs/p/5913726.html
Copyright © 2020-2023  润新知