服务器消息队列更新sql,sql-server – 消息队列的良好策略?

如果您有Azure,或许您应该直接在Azure上,因为Azure队列和任何MSMQ或SSB之间的API和semnatics有显着差异.

一个快速3048米的MSMQ与SSB的比较(我将离开一个自定义的排队比赛,因为它真的取决于你如何实现它…)

>部署:MSMQ是Windows组件,SSB是sql组件. SSB需要一个sql实例来存储任何消息,所以断开的客户端需要访问一个实例(可以是Express). MSMQ需要在客户端部署MSMQ(部分操作系统,但可选安装).

>可编程性:MSMQ提供了一个完整的,受支持的WCF通道. SSB在http://ssbwcf.codeplex.com仅提供实验性WCF频道

>性能:在交易模式下,SSB将显着快于MSMQ.如果允许以非交易模式运行,MSMQ将更快(尽力而为,无序,交付)

>可查询性:SSB队列可以被选中(查看任何消息,完整的sql JOIN / WHERE / ORDER / GROUP权限),MSMQ队列可以被偷看(只有下一个消息)

>可恢复性:SSB队列集成在数据库中,以便与数据库进行备份和还原,并保持与应用程序状态一致. MSMQ队列备份在NT文件备份子系统中,因此为了使备份保持同步(一致),必须暂停队列和数据库.

>事务(由于每个入队/出队总是伴随着数据库更新):SSB完全集成在sql中,因此出队和入队是本地事务操作. MSMQ是一个单独的TM(事务管理器),所以队列/出队必须是分布式事务操作,以在事务中注册sql和MSMQ.

>管理与监控:两者都不好.没有任何工具

>相关消息处理:SSB可以通过内置的Conversation Group Locking来阻止相关消息的处理.

>事件驱动:SSB有Activation启动存储过程,MSMQ使用Windows Activation服务.类似.由于WAITFOR(RECEIVE)和MAX_QUEUE_READERS的交互方式,SSB具有自负载平衡功能.

>可用性:SSB搭载sql Server高可用性故事,可以在集群或数据库镜像环境中工作. MSMQ仅适用于Windows群集故事.数据库镜像比作为HA解决方案的集群便宜得多.

另外我补充说,SSB和MSMQ在它们提供的原语水平上有很大差异:SSB原语是一个对话,而MSMQ原语是一个消息.认为TCP与UDP语义.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值