MSMQ的主要优点
我见过很多套接字应用,其中有MSMQ的使用。 但是当我详细介绍时,我认为我们可以在没有MSMQ的情况下做到这一点,所以我想知道MSMQ的主要优点是什么。 为什么有人在他自己的应用程序中使用MSMQ。
MSMQ是一个很棒的Windows。 它基本上是一个面向消息的中间件 ,它在一些软件架构中有很大帮助。
这主要解决异步消息处理的常见用例:您有一个服务Service1
,它与您的软件体系结构的另一部分(例如Service2
)进行通信(发送消息)。
主要问题:如果Service2
突然变得不可用怎么办? 邮件会丢失吗? 如果您使用MSMQ,它将不会: Service1
将消息发送到队列, Service2
将在可用时出列。
MSMQ将解决以下常见问题:
- 暂时不可用的服务:消息持久存储在磁盘上,并在服务再次可用时出列,因此不会丢失任何消息
- 因为它是完全异步的,所以在准时峰值负载的情况下它会有很大的帮助:你的
Service2
不会在繁重的负载下死亡,它只是一个接一个地出列并处理消息
MSMQ与另一个面向消息的中间件的优点:
- 免费和内置(Windows附带)
- 光
- 与其他Microsoft产品的良好集成(例如.Net中的
System.Messaging
命名空间用于处理MSMQ) - 监控function(使用perfmon计数器:每秒收到的消息数…)
- 交易队列
- 磁盘上的持久性,因此消息永远不会丢失
- 通过网络提供(远程队列)