论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Mssql>>正文

SQL Server 2005 Service Broker初探

www.xker.com 作者:Roger Wolter 来源::microsoft 加入日期:2006-3-8 9:08:53

【问题提问、论坛交流】【摘要】本文概述了如何利用 SQL Server 2005 中新增的 Service Broker 功能,加快并简化基于异步排队操作的 SQL Server 应用程序的开发过程(请注意,在示例文件中,程序员的注释使用的是英文,本文中将其译为中文是为了便于读者理解
 

一、引言

SQL Server 2005 的一个主要成就是可以实现可靠、可扩展且功能完善的数据库应用程序与 .NET Framework 2.0 公共语言运行库 (CLR) 的集成使开发人员可以将重要的业务逻辑与存储过程合并,而 T-SQL 和 XML 中的新增功能扩展了数据操作的可用范围以及开发人员可用的存储功能另一个重要功能是 SQL Server Service Broker,它为数据库应用程序增加了可靠、可扩展、分布式异步功能

二、为什么要编写异步排队操作?

在开发 SQL Server 2005 时,我们与成功开发过大型可扩展数据库应用程序的人员进行了交谈结果发现他们几乎所有的应用程序中都有一个或多个操作是以异步排队方式执行的股票交易系统中的结算活动是排队的,这样可以在后台进行结算,在前端处理其他交易订单输入系统中的发货信息放在一个排队中,稍后将由另一台服务器(通常位于其他位置)上运行的发货系统读取旅行预订系统在客户填写完路线后再进行实际的预订,并在预订完成后发送确认电子邮件在所有这些示例中,许多工作都是通过异步方式完成的,从而提高了系统的响应速度,因此用户无须等待工作完成就可以收到响应

在大多数大型系统中,经过仔细分析后都可以发现,许多处理都可以通过异步方式完成虽然应用程序中的排队任务无须立即完成,但系统必须确保这些任务能够可靠地完成Service Broker 使异步排队任务的执行可靠并且易于实现

使应用程序中的部分任务异步执行的另一个优势是这些任务的处理工作可以在资源可用时完成如果订单输入系统中的发货任务可以从队列中执行,发货系统就无需具有处理峰值订单负载的能力在许多订单输入系统中,峰值订单率可能是平均订单率的两倍或三倍由于订单输入系统必须具有处理峰值负载的能力,因此大量处理能力在很大一部分时间内都处于闲置状态如果在出现峰值时对异步任务进行排队并在空闲时执行,将显著提高系统的利用率

三、为什么排队应用程序难于编写?

既然异步排队应用程序具有许多优势,为什么不以这种方式编写所有应用程序?这是因为编写异步排队应用程序相当困难!许多尝试在应用程序中使用数据库表作为队列的开发人员发现,实际操作远比想象的困难作为队列的表中包含多个进程,包括同时插入、读取和删除几条记录这将带来并发问题、降低系统性能并导致频繁死机尽管许多开发人员都成功地解决了这些难题,但实际操作却非常困难Service Broker 通过使队列成为 SQL Server 2005 数据库中的第一级数据库对象解决了这些问题编写队列的大多数难题都已解决,因此开发人员可以专注于编写异步应用程序,而不是编写排队基础结构本文的其余内容将讨论编写排队应用程序涉及到的难题,并解释 Service Broker 如何帮助您解决这些难题

消息的完整性

在许多异步排队应用程序中,排队的消息实际上是有价值的业务对象例如在订单输入系统中,如果将发货信息放入队列中以便稍后处理,那么丢失排队的数据将意味着无法按订单发货许多可靠的消息传送系统都将消息存储在文件系统中,因此磁盘驱动器的损坏将导致消息丢失Service Broker 将消息存储在隐藏的数据库表中,因此 SQL Server 为保护数据而提供的所有数据完整性功能同样可用于保护排队的消息如果使用数据库镜像进行故障恢复,当因数据库故障而转移到第二个数据库后,所有消息都会转移到第二个数据库中,这样 Service Broker 应用程序将继续运行而不会丢失任何数据

本新闻共5页,当前在第1页  1  2  3  4  5  

编辑:xker.com

上一篇:Microsoft SQL Server 2005中的XML选项(1)
下一篇:没有了
关闭窗口】【技术交流】【收藏此页
相关文章
·Microsoft SQL Server 2005中的XML选·Microsoft SQL Server 2005中的XML选·SQL Server 2005 中的Multiple Activ
·使用SQL Server 2005中的CLR 集成(2)·使用SQL Server 2005中的CLR 集成(1)·保护SQL Server 2005 Express Editio
·在 SQL Server 2005 中查询表结构及索·在SQLSERVER2005中实现素数计算·SQL Server 2005中的SQLCMD工具使用
·SQL Server 2005生成直方图简介·SQL Server 2005数据转换服务中的模糊·SQL Server2005:构造最简单的模糊查找
·SQL Server2005 Analysis服务实践之起·SQL Server 2005关于数据类型最大值·从SQL Server 2005中处理 XML
推荐文章 最新文章 热门文章
·Jsp开发环境配置全过程
·Fireworks制作妇女节主题宣传动画(图
·主动FTP与被动FTP-权威解释
·FTP连接后为什么列表错误,无法列表
·拒绝提示窗口 让操作自动赶走网络烦恼
·视频格式转换工具使用集锦
·通过SQL Server 2005索引视图提高性能
·SQL Server 2005新特性
·SOHO族安全建议-保证上传服务器安全
·服务器安全配置精华技巧
·缔造神话 十大怪招助你200%提升迅雷速
·有备无患 WinXP下软件数据大迁移
·流量牵引技术在防DOS攻击中的应用
·解决w3wp.exe内存占用问题
·IIS网站防盗链下载的解决方案
·SQL Server 2005 Service Broker初探
·Microsoft SQL Server 2005中的XML选
·Microsoft SQL Server 2005中的XML选
·SQL Server 2005中的批编译、重新编译
·SQL Server 2005中的批编译、重新编译
·你的网站上显示Alexa世界排名的代码(
·网络僵尸接连作案 多家企业局域网受重
·Jsp开发环境配置全过程
·剪出精彩:明明白白“剪贴板”
·Fireworks制作妇女节主题宣传动画(图
·FLASH + XML 求职简历 制作教程
·硬盘主引导记录详解
·主动FTP与被动FTP-权威解释
·FTP连接后为什么列表错误,无法列表
·FTP错误列表
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·Norton AntiVirus 2006 注册码(激活
·豪杰超级解霸V9.1正版注册码
·WinRAR 3.51 注册码
·系统优化 专题
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·求职简历封皮
·最经典的黑客入门教材
·ACDSee v8.0注册码
·应届毕业生求职信
·怎样查找对方的IP地址
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: