5

我需要建立一个处理数据的服务网络。每个服务都需要自己的任务队列。初步我将需要 QueueTask、CancelTask​​、StopTask、GetTaskStatus 和 GetTaskProgress 等操作。

我正在寻找任务队列的框架或完全构建的实现。

此时我知道一些选择:

MSMQ - 可以满足我的需求,但需要太多编码才能获得支持。

Castle.Shediling - 调度解决方案。它提供了可插入的触发器,我可以实现它来满足我的需求。但是仍然有太多的编码。

ServiceBUS - 例如MassTransit。但是,我不确定它们如何支持长队列并且仍然需要管道代码。

一个理想的解决方案将是提供任务队列托管的框架。那将能够重新启动而不会丢失任务。这将可以从网络访问,例如作为 SOAP 端点。

问题实际上是你用什么,为什么?你建议使用什么?

4

4 回答 4

1

嗯,听起来好像您将不得不编写一些管道,尤其是通过 SOAP 将任务队列公开给外部世界。

我建议看:

两者都是 .NET 框架和 MSMQ 上的开源服务总线实现。

于 2009-04-12T12:56:09.033 回答
0

还有来自 Apache 组织的ActiveMQ 。它有很多很好的跨平台/语言支持,而且是免费的!

在商业领域,还有具有良好 Java/C# 绑定的Tibco EMS

于 2009-04-09T15:25:03.067 回答
0

也许您正在寻找 CONTROL-M 之类的东西?

http://en.wikipedia.org/wiki/CONTROL-M

于 2009-04-12T13:04:15.907 回答
0

好吧,我也许正在经历类似的过程。抱歉,这不是一个答案,但可能从上下文的角度来看。

我有一种情况,Web 应用程序将允许用户为设计上传图像。问题是我显然需要处理初始上传,然后将图像的实际过程排队。例如,我需要:

  1. 创建主要图像的缩放缩略图,以及一些水印等
  2. 将实际图像发送到 Amazon S3 存储单元。
  3. 更新一些日志/通知等。

再一次,我立刻想到了以前在金融领域工作的 MSMQ 和 IBM-MQseries,而且因为我使用的是 SQL 2008 R2,我注意到它也有(可能有一段时间!)排队机制。

所以我有点在同一条船上试图找到正确的选择!

感谢到目前为止的回复..将检查一些解决方案,但同样,任何其他想法将不胜感激

于 2010-10-30T03:02:18.187 回答