大型WEB网站架构深入分析_异步处理

大型WEB网站架构深入分析_异步处理

ID:38759987

大小:446.69 KB

页数:9页

时间:2019-06-19

大型WEB网站架构深入分析_异步处理_第1页
大型WEB网站架构深入分析_异步处理_第2页
大型WEB网站架构深入分析_异步处理_第3页
大型WEB网站架构深入分析_异步处理_第4页
大型WEB网站架构深入分析_异步处理_第5页
资源描述:

《大型WEB网站架构深入分析_异步处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、异步处理1介绍异步处理就是按照不同步的程序处理问题。异步处理与同步处理是对立的,而产生他们的是多线程或者多进程。异步处理的好处就是提高设备使用率,从而在宏观上提升程序运行效率,但是弊端就是容易出现冲突操作和数据脏读。同步则刚好相反,同步是一种降低设备使用率,在宏观上降低了程序的运行效率,而且很多系统或者是运行环境在处理同步的时候为了维持同步的有效性也会付出许多格外的系统资源开支,对性能影响相当大。但是同步保证了程序运行的正确性与数据的完整性。1.1多线程和异步处理的异同多线程和异步处理两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些

2、时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成了使用多线程和异步操作的时机的区别。1.1.1异步处理的本质所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步处理的本质,我们有必要了解一下它的硬件基础。熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、光驱的技术规格中都有明确DMA的模式指标,其实网卡、声卡、显卡也是有DMA功能的。DMA就是直接内存访问的意思,也就是说,拥有DMA功能的硬件在和内存进行数据交换的时候可以不消耗CPU资源。只要CPU在发起数据传输时发送一个指令,硬件就开始自己和内

3、存交换数据,在传输完成之后硬件会触发一个中断来通知操作完成。这些无须消耗CPU时间的I/O操作正是异步操作的硬件基础。所以即使在DOS这样的单进程(而且无线程概念)系统中也同样可以发起异步的DMA操作。1.1.2线程的本质线程不是一个计算机硬件的功能,而是操作系统提供的一种逻辑功能,线程本质上是进程中一段并发运行的代码,所以线程需要操作系统投入CPU资源来运行和调度。1.1.3异步处理的优缺点优点:1,前端进程(通常是Web页)响应更快,客户会认为这是一个运行速度较快的系统。2,提供了用来提出负载平衡请求的简单方式。3,提供了容错能力4,异步处理无须额外

4、的线程负担,并且使用回调的方式进行处理,在设计良好的情况下,处理函数可以不必使用共享变量(即使无法完全不用,最起码可以减少共享变量的数量),减少了死锁的可能。缺点:当然异步处理也并非完美无暇。编写异步处理的复杂程度较高,程序主要使用回调方式进行处理,与普通人的思维方式有些初入,而且难以调试。1.1.3.1支持断续连接的系统其中的每个优点都是通过异步模式对应用程序中不同部分进行去耦处理的结果。要让某个进程具有异步特点,就必须建立某种形式的队列来保存挂起的请求,该进程中的每一个步骤都只能与这些中间队列进行通信,而不能直接与其上一步或下一步进行通信。图1。利用

5、队列实现去耦操作1.1.3.2更快的响应时间第一个优点,即更快的响应时间,是由于客户(可能是正在访问Web站点的某个人,也可能是另一个公司的计算机系统)不需等待任何定单处理过程开始进行的结果。在同步系统中,用户在整个操作(例如提交定单)结束之后才得到响应。图2。同步操作的累积滞后时间在异步系统中,提交定单之后,客户的延迟时间仅仅是将该定单传递给进程中的下一步所花费的时间。在某种程度上,这样的更快响应时间只是一种假象,因为客户收到响应时该进程并未真正完成,但客户不需要再等待了,这是重要的优点。图3。在异步模式中滞后时间缩短1.1.3.3负载平衡在接收高流量

6、通信的系统中,人们常常希望将负载分布到多台服务器上,并且还希望根据需要调整这种分布以适应计算机数量的变化。有多种不同的方法处理系统的负载平衡问题,但异步处理所要求的基础体系结构能够在不增加额外软件的情况下轻松地提供灵活的负载平衡能力。如上所述,在异步系统中,需要某种形式的中间存储或队列来存储步骤之间的请求。当一份定单完成了某步骤中的进程工作时,它就被放到队列中等待进行下一步进程。当下一个步骤准备好处理另一份定单时,它就从这种挂起请求列表中抓取一份定单。要完成这样的系统中负载平衡的实施,只需要增加计算机的数量,由它们处理挂起列表中对步骤B的请求。图4。在处

7、理步骤B的节点群集之间实现负载平衡采用中间队列之后,在负载平衡和可伸缩性方面都获得了很大的灵活性。在该系统的前端或后端都可以放置任意数量的计算机,而且这种灵活性适应于任何一个进程步骤。可以在每一个步骤中使用适当数量的硬件对系统的性能进行微调,也可以在一台计算机上将多个步骤结合在一起进行处理。1.1.3.4容错能力异步体系结构可以让系统具有容错能力,这样,即使在进程中出现中断,整个系统也不会崩溃。对灵活的负载平衡提供支持的功能同时也就是对容错能力提供支持的功能。如果某个软件或硬件故障删除了某个进程步骤,请求执行该步骤的那些挂起请求就在队列中等候直至该服务被

8、恢复。这对进程中先前的步骤并不产生什么实际的影响,尽管总体进程时间可能由于故障而

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。