MSMQ的主要优点

我见过很多套接字应用,其中有MSMQ的使用。 但是当我详细介绍时,我认为我们可以在没有MSMQ的情况下做到这一点,所以我想知道MSMQ的主要优点是什么。 为什么有人在他自己的应用程序中使用MSMQ。

MSMQ是一个很棒的Windows。 它基本上是一个面向消息的中间件 ,它在一些软件架构中有很大帮助。

这主要解决异步消息处理的常见用例:您有一个服务Service1 ,它与您的软件体系结构的另一部分(例如Service2 )进行通信(发送消息)。

主要问题:如果Service2突然变得不可用怎么办? 邮件会丢失吗? 如果您使用MSMQ,它将不会: Service1将消息发送到队列, Service2将在可用时出列。

MSMQ将解决以下常见问题:

  • 暂时不可用的服务:消息持久存储在磁盘上,并在服务再次可用时出列,因此不会丢失任何消息
  • 因为它是完全异步的,所以在准时峰值负载的情况下它会有很大的帮助:你的Service2不会在繁重的负载下死亡,它只是一个接一个地出列并处理消息

MSMQ与另一个面向消息的中间件的优点:

  • 免费和内置(Windows附带)
  • 与其他Microsoft产品的良好集成(例如.Net中的System.Messaging命名空间用于处理MSMQ)
  • 监控function(使用perfmon计数器:每秒收到的消息数…)
  • 交易队列
  • 磁盘上的持久性,因此消息永远不会丢失
  • 通过网络提供(远程队列)