nodejs的哲学
Posted Javascript设计模式
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs的哲学相关的知识,希望对你有一定的参考价值。
说起哲学,要了解一下创始人。他们买的服务器的性能够都比较少,所以他想怎么用破机器运行高性能。
他主要发现了高并发的问题,确实靠谱,但是试验了很多次都失败了,后来他感觉到了解决
问题的关键是要通过事件驱动和异步I/O达成目的,先说什么是异步I/O,那么我们先说说这个异步I/O
我们的网站I/O是非常多的,I就是input数据的,表示数据的读取,o:output表示数据的写入,
但是I/O的视乎CPu命令磁盘去做事情,此时cpu就闲置了,数据库说白了也是存磁盘里,服务器就是计算机,
cpu下命令给磁盘去读取,些人,下命令去寻找姓名为秦丰的数据,CPU经常发出I/O命令,然后cpu就歇着呢
这么贵的cpu让他歇着,就有些浪费资源了,因为这种模式叫做同步I/O,和ajax的含义差不多
同步:当系统遇见了一个需要耗费大量时间的事情的时候,选择死等
异步(A),不死等,先做后面的事情,耗时的事情做完后之后,做回调函数,
例如在php中有一个文件叫做test.txt,下面有一个for循环的运算,如果test的内容非常多,PHP也要等test读完再能运算for循环,这个时候cpu就在闲着,
有人问java多线程呢? node的一个单线程都比java的多线程厉害,因为这一个线程是满满的。
cpu除了命令磁盘驱动,还能命令很多驱动,
知道了解决问题的方法但是没有东西,后来有了chrome,chrome火爆起来,这个时候v8出现了,并且v8解析js很快,v8开源了,被他移动到服务器
上了,chrome傻眼了,而且V8还是异步。这就是node.js项目的又来,是一个专注于实现高性能web服务器优化的专家,几经探索,遇到v8而诞生的项目
node当中的东西是异步的,V8引擎性能好,都是异步IO,闭包性能好,
以上是关于nodejs的哲学的主要内容,如果未能解决你的问题,请参考以下文章
Nodejs动态加载路由,Nodejs遍历目录,Nodejs路由工具