基于Node.js高并发web系统的研究与应用

被引量 : 61次 | 上传用户:yhmlivefor52
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网技术的深入发展和广泛应用,越来越多的网站面临高并发访问的压力。保证高并发Web系统的高效性和稳定性是当今Web技术中的重要课题。传统的方法主要通过负载均衡、缓存、集群等后端架构来提升其并发处理能力,而对于HTTP服务器本身性能并没有太大的提升。Node.js技术是当今最热门的服务器端技术。它在保持与传统技术兼容的情况下,采用基于事件驱动的异步I/O模型,极大地提高了HTTP服务器的并发性能。因此,研究基于Node.js的高并发Web系统有着重要的现实意义。本文分析了高并发Web系统面临的挑战,从一些大型高并发网站架构入手,总结现有的高并发解决方案。接着,研究了Node.js的组织架构和工作原理,将Node.js的I/O模型与传统I/O模型进行对比,详述了多线程多进程模型的弊端以及Node.js的核心技术——基于事件驱动的异步I/O模型,并分析该模型在高并发、高负载环境下的性能优势。由于Node.js原生是单线程的工作模式,为了利用服务器多核的优势,本文在深入研究各种Node.js多核方案的基础上,设计了一种简单、高效的Node.js多核并行框架,并基于该框架实现了Node.js多核HTTP服务器。该服务器不仅发挥了Node.js模型在高并发以及I/O性能方面的优势,而且解决了由于Node.js单线程导致的多核CPU利用率的问题,使得HTTP服务器的并发性能得到极大地提升。为了与实际应用相结合,本文设计并实现了一个基于Node.js的微博系统。首先,提出该系统的总体架构。然后,基于MongoDB设计了数据模式,实现了数据的持久化存储。接着,利用Redis设计了分层的缓存层,实现数据在内存级存储。还引入并实现了RabbitMQ消息队列,降低了HTTP服务器的压力,提高吞吐量。最后,本文在真实环境中对该系统进行了测试,并与传统实现进行对比,证明了Node.js更为适合高并发Web系统。
其他文献
手术室人员因其职业的特殊性,在工作中经常接触大量沾有患者血液、体液及锐利器械,是传染经血液传播疾病的高危人群。而我国作为世界上乙肝患者最多的国家之一,因职业暴露而
城市交通网络是城市空间形态的基本骨架 ,交通网络的定量研究是对城市空间形态可控参数研究的重要方面。在GIS平台上利用拓扑分析可确定交通网络的整体层次结构及复杂程度 ,
熔体直接发泡法制备泡沫铝、镁材料的过程与铝基、镁基熔体热物理性质有着密切的联系,如合金熔体的粘度影响发泡过程中熔体的排液和气泡的稳定性,表面张力与气泡形核和长大的
随着合金轻量化的不断发展,镁合金作为一种轻质工程材料,受到越来越多的重视。镁锂合金是世界上最轻的金属结构材料,拥有一些其他合金所难于比拟的优势,其密度低,塑性好,减震性能高
汤中立院士提出的"小岩体成大矿"理论,是基于对与镁铁-超镁铁质侵入岩有关的岩浆铜镍硫化物矿床长期调查研究得出的概括性成矿认识总结。一经提出即得到了国内外勘查界的普遍响
近年来,我国经济增长方式已由投资驱动型转变为消费拉动型,未来将继续着力推动经济内涵式发展。因此,大众消费需求呈现出多元化、个性化、娱乐化等特点。现阶段,作为大众消费
<正>银行理财产品跟踪第四季度,商业银行发行理财产品1.85万款,募集资金规模12.2万亿元2014年,银行理财产品发行数量和资金规模平稳增长,截至6月末,银行理财余额达12.7万亿元
中小企业融资难问题现已成为我国经济发展中的一大关键性问题。本文力图通过对中小企业融资渠道、融资效益的分析 ,指出当前中小企业融资改革着力点还在于融资体系的发展完善
产品保修与企业利润息息相关,并且应用范围越来越广泛,在学术界以及实际生活中都受到极高的关注。目前保修问题相关研究大多针对新产品,对二手产品的关注较少。伴随二手产品
指称问题是语言哲学中的基本问题,广泛涉及到当代语言哲学的许多深层问题。本文通过对传统指称论,历史因果指称论和意向指称论的历史演变及其得失的梳理,从而运用名称的内涵