职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1053|回复: 0

[转帖]SQL Server Service Broker – 消息队列

[复制链接]
蓝色梦幻 发表于 2009-6-27 00:26 | 显示全部楼层 |阅读模式
SQL Server Service Broker – 消息队列
SQL Server Service Broker – 消息队列

Service Broker 是集成在SQL Server 2005/2008内的消息服务,允许数据库应用程序单向(one-way)或双向(two-way)轻松交换消息。Service Broker 两个重要的优点是:
(1)异步消息(Asynchronous messages)
(2)确保到达目的地(Guaranteed delivery)

Service Broker 包含一些相关的组件,Contract、Service、Queue队列、Message Type消息类型、Service program or service application 服务应用程序(一般为存储过程)等等,如下图所示。



Service Broker 应用程序通过对话进行通信。在实际生活中,对话是两个人之间的沟通。一个人发送一条消息,另外一个人接收消息并回复。
在Service Broker中,一个对话是通过contract、队列、服务进行可靠的、异步的消息交换。简而言之,Service Broker 对话用来发送和接收消息。如下图所示,两个分离的数据库分别定义了一个Service Broker服务,相互之间进行发送和接收消息,进行双向对话。



Orders数据库发送一条消息给Shipping数据库,消息中说一个订单Order已经接收并确认了。Shipping数据库则发送一条确认消息,说订单正在被处理,随后当订单实际发货后,发送另一条消息给Orders数据库。
当有消息在进入队列时,可以配置Service Broker自动启动服务程序,或者配置程序定期检查消息队列(Message Queue)。Service Broker非常灵活,足以出来不同的业务需要。

关于Service Broker的实际开发,建议你参考如下一些文章:
Service Broker实现发布-订阅(Publish-Subscribe)框架(1) (中文)
http://forum.entlib.com/Default.aspx?g=posts&t=70

Service Broker实现发布-订阅(Publish-Subscribe)框架(2) (中文)
http://forum.entlib.com/Default.aspx?g=posts&t=71

Service Broker实现发布-订阅(Publish-Subscribe)框架(3) (中文)
http://forum.entlib.com/Default.aspx?g=posts&t=72

Introducing Distributed Messaging using Service Broker in SQL Server 2005 (英文)
http://www.codeproject.com/KB/database/IntroServiceBroker.aspx
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-7 03:44 , Processed in 0.133794 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表