Node.js真的有高并发优势吗
1个回答
展开全部
有的,Nodejs的无阻塞模型对应高并发的是很不错的
首先nodejs的模型是基于event loop的,个人理解比较类似的就是java的circular buffer
假设现在又10W的并发,如果是传统的http服务器,可能是我这儿就锁住当前的HTTP请求,直到buffer全部写完再返回结果,这样就会有大量的等待产生
nodejs的处理方式是,我把你的请求相应的IO全部放入event loop池中,谁的buffer写完了就返回就行了,所有的事件都是有一个handle统一轮询这一轮里面谁写完了谁返回,所以即使并发再大,也是无阻塞的
nginx的原理类似,不过nginx是基于哈希分配的,通过哈希码去创建当前的请求任务,并开辟设置好的内存块随时更新状态
首先nodejs的模型是基于event loop的,个人理解比较类似的就是java的circular buffer
假设现在又10W的并发,如果是传统的http服务器,可能是我这儿就锁住当前的HTTP请求,直到buffer全部写完再返回结果,这样就会有大量的等待产生
nodejs的处理方式是,我把你的请求相应的IO全部放入event loop池中,谁的buffer写完了就返回就行了,所有的事件都是有一个handle统一轮询这一轮里面谁写完了谁返回,所以即使并发再大,也是无阻塞的
nginx的原理类似,不过nginx是基于哈希分配的,通过哈希码去创建当前的请求任务,并开辟设置好的内存块随时更新状态
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询