青岛中联优谷

关于Node.js

2018-07-30

青岛网站建设
Node作为异步事件驱动的JavaScript运行时,旨在构建可伸缩的网络应用程序。在下面的示例中,可以同时处理许多连接。在每个连接上都会触发回调,但是如果没有工作要做,节点就会休眠。
这与今天使用OS线程的更常见的并发模型形成了对比。基于线程的联网效率相对较低,很难使用。此外,Node的用户无需担心死锁过程,因为没有锁。Node中几乎没有函数直接执行I/O,因此进程从不阻塞。因为没有块,所以在Node中开发可伸缩系统是非常合理的。
如果有些语言不熟悉,就会有一篇完整的文章介绍阻塞与非阻塞.节点的设计类似于Ruby这样的系统,并受其影响。事件机或者Python的扭曲。节点进一步介绍了事件模型。它呈现出一个事件循环作为运行时构造而不是库。在其他系统中,总是有一个阻塞调用来启动事件循环。通常,行为是通过脚本开头的回调来定义的,在结束时通过阻塞调用启动服务器,如EventMachine::run()。在Node中,没有这样的启动事件循环调用。节点只需在执行输入脚本后进入事件循环。当没有更多的回调要执行时,节点退出事件循环。这种行为就像浏览器JavaScript-事件循环对用户是隐藏的。
http是Node的头等公民,它的设计考虑了流和低延迟。这使得Node非常适合作为Web库或框架的基础。
仅仅因为Node是在没有线程的情况下设计的,并不意味着您不能利用环境中的多个内核。子进程可以通过使用child_process.fork()API,并被设计成易于与之通信。建立在同一接口之上的是cluster模块,它允许您在进程之间共享套接字,以便在内核上实现负载平衡。
最后推荐一家青岛专业的网站建设公司青岛中联优谷,中联优谷会秉承着会更用心为你的服务理念,将产品做到客户最大的满意。