首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Service Broker设计

Service Broker设计
EN

Stack Overflow用户
提问于 2010-08-05 15:15:54
回答 1查看 199关注 0票数 0

我想介绍SS Service Broker,

我有一个远程订单数据库和一个本地处理数据库,处理数据库上的所有活动都必须按顺序发生,这似乎是一个完美的Service Broker工作!

我已经建立了基础设施,我可以发送和接收消息,现在我正在研究处理的设计。正如我所说的,一个订单的所有流程都需要按顺序完成,所以我将把它们放在一个对话中。

其中一个过程是请求外部平面文件数据,然后等待(可能需要几天),然后在它返回时导入并处理此文件。我如何处理一半的任务,然后在处理另一半任务之前等待平面文件返回。

我有一些想法,但我确信我在什么地方漏掉了一个把戏

1)将所有队列项写入状态表并使用状态值--这似乎降低了SSSB的一些灵活性,并增加了另一层任务

2)保持事务打开,直到我们拿回数据--这并不理想

3)让平面文件导入任务不断轮询要显示的文件-这似乎效率很低

管理此工作流程的最有效方法是什么?提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-05 15:46:16

在我看来,这就像是一系列的责任。据我所知,我们有以下工作流程。

1.)消息的处理。

2.)等待外部文件,现在这可能是一个忙碌的等待,或者如果外部数据提供了通知,那么我们实际上可以以非轮询的方式完成它。

3.)一旦接收到数据,然后处理数据。

所以我的建议是使用3个不同的队列,每个部分一个,当一个队列完成后,它将在链式队列中转发或放置一个新消息。

我假设,一个订单处理不会中断另一个订单处理。

我认为MSMQ与Windows顺序工作流,可能也是这项任务的候选人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3412516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档