SQLServer2005基于消息的应用程序介绍

文章作者 100test 发表时间 2007:05:07 16:28:08
来源 100Test.Com百考试题网


  基于消息的应用程序并不是一个新概念,但一直以来,从头编写这样的应用程序都相当困难。我将在一系列三篇文章中讨论一个建立异步消息应用程序的新平台,本文为第一篇,我将在其中说明基于消息的应用程序这一概念,以及一个建立包含在SQL Server 2005中的这些应用程序的新型基础程序。

  基于消息的应用程序介绍

  处理消息的应用程序是大体上会成功的应用程序。实际上,大多数大型应用程序都应用了某种类型的消息处理。这种处理可能相当简单,例如,把一个文件放在网络共享中,以便另一个应用程序能够处理这个文件;之后,你就可以检查网络共享,看文件是否得到处理。

  虽然这不是一个非常复杂的消息应用程序,但其背后的概念是一样的:提交一条消息,应用程序执行其工作。然后,再检查看是否收到确认消息已得到处理的信息。这种处理方法拥有许多独特的优点:

  延期处理:有时候,要想在给定的时间处理某个任务的所有工作是不切实际的。许多时候,当你的应用程序能够处理的任务达到一个瓶颈点时,最好把剩下的任务交给另一个应用程序进行处理。

  在线购买机票就属于这种情况。当你到一个网站购买机票时,你输入诸如出发城市、到达城市、旅行日期和随行乘客人数之类的信息。在你输入信用卡信息后,你将收到一封确认电子邮件。在后台,某种类型的消息已被提交给另一个执行请求的服务进行处理。如果不能满足订票请求,你收到的电子邮件就会说明这一点。
这种处理的好处在于它减轻了后台数据库系统堵塞的压力。而且,如果要求顾客长时间等待网站的确认,大多数顾客都会感到非常不满。另外,如果所有处理任务都在一个单功能事务中完成,就可能发生严重的死锁情况,从而负面影响在网站上购买机票的顾客的购买体验。

  分布式处理:一般来说,最好尽可能迅速地处理一项任务。但是,有时候很难确定有多少待处理的任务、完成这些任  务需要耗用多少资源。下面我们看一个这种处理的实例。

  超市中有许多结账通道。通道的数量一般根据超市的资源来配备。有时,例如星期六下午,结账通道变得十分拥挤,顾客必须排队等候。只要超市的资源没有耗尽,超市就能分配更多收银员给顾客结账。这样既可加快结账速度,又不至于影响超市的总体运作。

  
同样的道理,消息应用程序也以相似的方式运作。如果你的应用程序充满了待处理的请求,通常应该增加另外一条处理队列来缓解系统的总体处理压力。



相关文章


Vista纯净版与XP双系统解决方案
湖北07年7月自考面向社会开考专科教材大纲目录
CCIE建立详细的“故障检测检查表”
关于Cisco认证考试的注意事项
SQLServer2005基于消息的应用程序介绍
深入了解SQLServer系统数据库工作原理
毕业生来河南就业外地人士无须审批
分析SQLServer的内存为何不断增加
如何进行SQLServer批理修改权限
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛