0

在大学里,我们研究了 IBM 的 MQ 系列,它是一种中间件,您可以将消息发送到该中间件,并将其保存在队列中。MQ 系列具有所谓的保证消息传递,这意味着如果您将消息发送到队列,即使包含队列消息的服务器关闭并重新打开,队列也会保持不变。

Microsoft 是否有可用于 C# 和 Sharepoint 的类似技术?

4

3 回答 3

5

是的,它被称为MSMQ(Microsoft 消息队列)。

是 MSMQ 的官方 Microsoft 常见问题解答。

于 2011-04-20T21:04:08.017 回答
1

如果您想开源,请查看 Apache Foundation 的 ActiveMQ。

ActiveMQ 是跨平台的。库可用于 C# 和其他语言:http ://activemq.apache.org/cross-language-clients.html

于 2011-04-20T21:19:12.170 回答
1

由于您在谈论 Sharepoint,这意味着您的后端是 SQL Server。SQL Server 拥有自己的可靠消息传递技术,即Service Broker。与 MSMQ 相比的主要优点是完全集成到数据库引擎中,这意味着部署和维护一个单一的产品,一致的备份/恢复,集成到基于 SQL Server 的高可用性/灾难恢复(镜像,SQL 集群),语言/API 与数据库集成(您可以在队列上运行 SELECT!)等。因为它消除了在 MSMQ 和数据库之间进行两阶段提交 DTC 以处理每条消息的需要,所以它提供了显着更高的吞吐量。可扩展性和功能也显着提高(MSMQ 有一个 4GB队列限制,SSB 有 2GB消息限制,队列限制是(总)磁盘容量,基本上是数据库限制)。主要缺点是缺少像 WCF MSMQ 通道这样的客户端编程 API。使用 SSB,您必须使用SEND和之类的动词来编写 T-SQL RECEIVE

于 2011-04-20T23:09:03.560 回答