唐山网站建设

设为主页 加入收藏 繁體中文

SQL Server 2005基于消息的利用程序先容

核心提示:基于消息的利用程序其实不是1个新概念,1直以来,从头编写这样的利用程序都相当困难。我将在1系列3篇文章中讨论1个建创新步消息利用程序的新平台,本文为第1篇,我将在其中说明基于消息的利用程序这1概念,和1个建立包括在SQL Server 2005中的这些利用程序的新

基于消息的利用程序其实不是1个新概念,1直以来,从头编写这样的利用程序都相当困难。我将在1系列3篇文章中讨论1个建创新步消息利用程序的新平台,本文为第1篇,我将在其中说明基于消息的利用程序这1概念,和1个建立包括在SQL Server 2005中的这些利用程序的新型基础程序。

基于消息的利用程序先容

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

固然这不是1个非常复杂的消息利用程序,但其背后的概念是1样的:提交1条消息,利用程序履行其工作。然后,再检查看是否是收到确认消息已得到处理的信息。这类处理方法具有很多独特的优点:

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

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

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

超市中有很多结账通道。通道的数目1般根据超市的资源来配备。有时,例如星期6下午,结账通道变得10分拥堵,顾客必须排队等候。只要超市的资源没有耗尽,超市便可以分配更多收银员给顾客结账。这样既可加快结账速度,又不至于影响超市的整体运作。
一样的道理,消息利用程序也以类似的方式运作。假设你的利用程序布满了待处理的要求,通常应当增加另外1条处理队列来减缓系统的整体处理压力。
微软消息队列

现在你可能已体会到基于消息的利用程序带来的价值,你或许想知道为甚么你没有常常听说这类利用程序。主要的缘由在于,开发这类利用程序是1个非常困难的任务。假设你计划编写自己的基于消息的利用程序,你要用大部份时间来开发处理消息的基础架构。

好消息是,你不再需要开发自己的消息基础架构。微软消息队列(MSMQ)提供1个开发这类利用程序的框架。它使得利用程序可以在不同种类的网络间进行通讯,并且需要保证消息传送(guaranteed message delivery)、路由和可配置安全。MSMQ利用程序1般在以Visual Basic、C#或C++编写的利用程序中开发,不过也能够用其它程序语言编写。这些利用程序在处理通常需要几步完成的任务时表现优良。这时候,1个任务的每个步骤需要逻辑到达任务的下1个步骤,如1个业务工作流利用程序。

数据库——不再只是用于存储数据

过往20年来,我们对关系数据库系统的依托程度明显增加。最初,存储数据并对数据进行某种处理,是建立贸易关系数据库系统的主要目的。随着关系数据库系统的发展,其功能和复杂性的变化,它的主要用处已由单1数据存储转变成更加主流的贸易智能目的、更加复杂的ETL处理、数据报告、数据通知;在SQL Server 2005中,它乃至已具有编写在数据库引擎中履行的.NET CLR语言代码的能力。因此,完全可以肯定地说,数据库引擎已不再仅用于数据存储。

Service Broker

微软以为,答应你在数据库内建立基于消息的利用程序,这样才故意义。Service Broker是SQL Server 2005中新添加的基础程序,主要用于在数据库引擎内建立基于消息的利用程序。这些利用程序在数据库引擎内使用新的TSQL结构而开发。

Service Broker利用程序以疏松连接的利用程序而开发,它具有高度可扩大性,并提供其它消息平台所不具有的功能,如消息组调和和锁定。这些利用程序充分支持事务,并能够逾越数据库实例和服务器。

唐山网站建设www.fw8.net


TAG:数据库,数据,程序,消息,机票
评论加载中...
内容:
评论者: 验证码: