我应该注意 MSMQ 有什么限制吗?
我想用它来读写消息,但是消息很多。
数字应该在一分钟内大约 200,000 - 300,000。
有什么想法吗?它应该工作吗?
MSMQ 是一个队列,它的主要好处是将消息的发送者和接收者解耦(例如接收系统可以离线)。
如果需要保证延迟,那么我会寻找其他地方(例如 .NET 远程处理/WCF NetTCP 绑定等)
也就是说,我们使用 MSMQ 和低级硬件,突发率 >> 每秒 500 条消息,但在集成 (EAI) 环境中,MSMQ 的好处是:
低延迟从来都不是要求——可靠性和完整性是主要驱动因素。
对于小型的非事务性消息,这在理论上是可能的,但它处于我个人听说过的高端。不过,请远离事务队列——我严重怀疑您是否能够在任何实际平台上获得这种吞吐量。
由于可怕的资源不足问题,我在 MSMQ 中遇到了这种卷的问题。
这似乎是一种罕见的情况,但它发生在我身上几次。
查看这篇文章:链接它说 MSMQ 不应用作存储产品,而应用作传输机制。
您可以拥有从队列中读取消息并以事务方式处理它们的服务。在这里(MSDN 链接)您可以找到一些示例。创建一个小样本,做一些负载测试,看看它是否有效。