Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Node.js事件与服务器端的线程编程大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们计划开设一个相当复杂的门户网站,预计会吸引良好的本地流量,我的老板告诉我虑/分析node.js为服务方.
我认为可扩展性和多核支持可以通过前面的Nginx或Cherokee来处理.

1)这个node.js是否适合某些严肃/大企业?

2)服务器端的这种“事件/异步”范例是否有可能支持繁重的流量和数据操作?虑到“一切”在一个线程中处理的事实,如果它崩溃了所有的实时连接都会丢失(尽管它很容易重启).

3)与基于线程的样式相比,基于事件的编程有哪些优点?或相反亦然.
(我知道与线程切换相关的成本较高,但硬件可以通过事件模型进行挤压.)

以下是有趣但有些矛盾(在某种程度上)的论文: –

1)http://www.usenix.org/events/hotos03/tech/full_papers/vonbehren/vonbehren_html

2)http://pdos.csail.mit.edu/~rtm/papers/dabek:event.pdf

解决方法

> Node.js发展非常迅速,其大部分功能都很坚固,可以为业务做好准备.但是,有很多地方缺乏它,比如数据库驱动程序,jquery和DOM,多个http标题等.有很多模块可以解决每个方面,但对于生产环境,你必须要小心选择稳定的.
>从操作系统的角度来看,使用单个线程实际上比使用一千个(甚至五十个)更高效,我读过的基准测试(抱歉,手头没有它们 – 会尝试找到它们并链接他们后来表明,它能够支持繁重的流量 – 然不确定文件系统访问.
>基于事件的编程是:

>比线程代码更清晰的代码(在JavaScript中,即)
> JavaScript引擎在处理事件和处理回调方面非常高效,而且它很容易成为现在看到最多运行时优化的语言之一.
>当您在控制流程方面进行思时,更难以适应.通过事件,您永远无法确定流程.但是,您也可以将其视为更具动态性的编程.您可以将每个被触发的事件视为独立事件.
>出于上述原因,它会迫使您在编程时更加注重安全.从这个意义上说,它比线性系统更好,有时你认为消毒输入是理所当然的.

至于这两篇论文,两者都比较陈旧.对于这一点的第一个基准,正如您所看到的,有一个关于这些研究的最新说明:

http://www.eecs.harvard.edu/~mdw/proj/seda/

它还引用了你所做的第二篇论文,但拒绝评论它与基于事件的系统和基于线程的系统之间的比较的相关性:)

大佬总结

以上是大佬教程为你收集整理的Node.js事件与服务器端的线程编程全部内容,希望文章能够帮你解决Node.js事件与服务器端的线程编程所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。