首页 > 编程语言 >Microsoft Message Queuing(MSMQ)是由微软开发的一种消息队列服务,用于在分布式应用程序之间进行异步通信。它提供了一种可靠的方式来在不同的应用程序之间发送消息,并确保消息的可

Microsoft Message Queuing(MSMQ)是由微软开发的一种消息队列服务,用于在分布式应用程序之间进行异步通信。它提供了一种可靠的方式来在不同的应用程序之间发送消息,并确保消息的可

时间:2023-06-25 23:33:36浏览次数:42  
标签:MSMQ Windows 分布式应用 支持 可靠 队列 消息 引入

Microsoft Message Queuing(MSMQ)是由微软开发的一种消息队列服务,用于在分布式应用程序之间进行异步通信。它提供了一种可靠的方式来在不同的应用程序之间发送消息,并确保消息的可靠传递。

MSMQ基于消息队列的原理,应用程序可以将消息发送到队列中,然后其他应用程序可以从队列中接收这些消息。这种异步通信模式使得不同的应用程序可以解耦合,通过发送和接收消息来实现彼此之间的通信。这样一来,发送方和接收方可以独立地进行处理,而不需要实时的直接连接。

MSMQ具有以下特点:

可靠性:MSMQ使用事务来确保消息的可靠传递。发送方可以选择启用事务来确保消息在发送和接收之间不会丢失。
持久性:消息可以持久保存在队列中,即使在应用程序关闭或断电后也能够恢复。
异步通信:发送方和接收方可以独立地进行处理,无需实时的直接连接。
安全性:MSMQ提供了对消息的安全性支持,包括消息的加密和数字签名。
吞吐量:MSMQ能够处理大量的消息,适用于高并发和高负载的场景。
MSMQ广泛应用于分布式系统、企业应用集成(EAI)、工作流和异步通信等领域。它提供了一种可靠、灵活和扩展的消息传递机制,使得不同的应用程序可以方便地进行通信,并实现解耦合的架构。

以下是 Microsoft Message Queuing(MSMQ)各个版本的功能更新:

MSMQ 1.0:

初始版本,引入了消息队列的基本概念和功能。
MSMQ 2.0:

引入了新的消息队列类型,如公共队列和专用队列。
提供了可靠性和安全性方面的改进,包括消息传递确认和安全标签。
支持分布式事务处理。
MSMQ 3.0:

引入了集成式身份验证,使得在域环境中使用 MSMQ 更加便捷。
提供了新的管理工具和性能计数器,帮助管理员更好地监视和调整 MSMQ 的性能。
引入了消息队列触发器(Message Queue Triggers),允许在特定条件下触发操作。
MSMQ 4.0:

引入了新的传输协议,支持通过 HTTP 来发送和接收消息。
提供了完全可编程的客户端 API,简化了开发人员的工作。
支持 IPv6 和数字证书的集成。
引入了嵌入式模式(Embedded Mode),允许在应用程序中轻量级地嵌入 MSMQ 功能。
MSMQ 5.0:

引入了新的消息队列类型,如触发器队列和移动队列。
提供了自动化的失败重试机制,以增强可靠性。
支持消息优先级和消息路由功能,使得消息处理更加灵活和高效。
引入了基于 XML 的消息格式和支持大型消息的改进。

MSMQ 6.0:

引入了对 Windows Server 2008 的支持。
提供了更好的性能和可伸缩性,以处理更大规模的消息流量。
改进了失败重试机制,增加了重试策略的灵活性。
支持在磁盘故障恢复期间自动转移队列。
MSMQ 6.3:

引入了对 Windows Server 2012 和 Windows 8 的支持。
提供了更好的集成和互操作性,与 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 等技术更好地集成。
改进了安全性,引入了基于 Claims 的身份验证。

MSMQ 7.0:

引入了对 Windows Server 2008 R2 和 Windows 7 的支持。
改进了集群方案的可靠性和性能。
提供了更好的管理工具和 PowerShell 支持。
MSMQ 7.5:

引入了对 Windows Server 2008 R2 和 Windows 7 的支持。
提供了新的管理工具和 PowerShell cmdlet。
引入了基于 PowerShell 的消息发送和接收功能。
MSMQ 8.0:

引入了对 Windows Server 2012 和 Windows 8 的支持。
改进了安全性和易用性,提供了更简化的安装和配置过程。
引入了对动态发现和配置的支持,使得与其他应用程序的集成更加便捷。
MSMQ 9.0:

引入了对 Windows Server 2012 R2 和 Windows 8.1 的支持。
提供了更高的性能和可靠性,以处理更大规模的消息流量。
引入了支持跨域传输的功能,使得在分布式环境中更加灵活地使用 MSMQ。

MSMQ 10.0:

引入了对 Windows Server 2016 和 Windows 10 的支持。
改进了可靠性和性能,通过优化存储引擎和网络协议,提供更高的吞吐量和更低的延迟。
引入了 JSON 支持,允许使用 JSON 格式的消息进行通信。

MSMQ 10.0.xxxx.x(最新更新):
引入了对最新操作系统的支持,例如 Windows 10 和 Windows Server。
提供了更好的性能、可靠性和安全性。
可能包含其他增强功能和修复了的问题。

MSMQ 10.0.18362.1:

引入了对 Windows Server 2019 和 Windows 10 版本1903及更高版本的支持。
改进了集群模式下的性能和可靠性。
提供了更好的消息体积限制和消息审计功能。
MSMQ 10.0.19041.1:

引入了对 Windows 10 版本2004及更高版本的支持。
提供了基于名称的消息路由功能,允许通过指定消息队列名称来路由消息。
增强了安全性,支持传输层安全性和证书验证。
MSMQ 10.0.22000.1:

引入了对 Windows 11 和 Windows Server 2022 的支持。
提供了更好的性能和吞吐量,加快了消息传输速度。
引入了对 TLS 1.3 的支持,并提供了更强大的加密算法和密钥管理。

标签:MSMQ,Windows,分布式应用,支持,可靠,队列,消息,引入
From: https://www.cnblogs.com/suv789/p/17504247.html

相关文章

  • kafka01 kafka及消息队列简介
     1Kafka是什么Kafka是一种高吞吐量的分布式发布订阅消息系统(消息引擎系统)。 2消息系统简介一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。分布式消息传递基于可靠的消息队列,在客户端应用和......
  • 常见的软件可靠性度量和分析方法
    常见的度量方法或者说可靠性的表示方法主要有以下几种。1、可靠性数据来源可靠性数据来源包括两类:可以通过软件主动上报(事件、指标、Trace、日志等)等技术方法自动完成数据采集和分析;也可以通过接收或汇总来自用户的报告(包括软件提供的反馈渠道、客服渠道报告、弹幕报告、App市场评......
  • 飞书推送消息
    功能介绍企业存在给特定群组自动推送消息的场景,例如,推送监控报警、运营内容等。在该类场景下,你可以在群组中添加自定义机器人,自定义机器人默认提供webhook,通过服务端调用webhook地址,即可将外部系统的消息通知即时推送到群组中。实现起来也非常简单,就是发一下http请求就可以......
  • 全局异常处理:优化 Flask 应用程序的可靠性与用户体验
    Flask是一个流行的PythonWeb框架,它提供了简单而灵活的方式来构建Web应用程序。然而,即使是最出色的开发人员也难以完全避免错误和异常的发生。用户可能会提交无效的数据,服务器可能会发生内部错误,或者应用程序可能会遇到不可预料的问题。在这些情况下,良好的错误处理机制对于保......
  • 系统架构设计师笔记第22期:软件可靠性建模
    软件可靠性建模是指通过分析软件系统的特征和行为,预测其可能出现的故障和失效情况,从而评估软件系统的可靠性和安全性。软件可靠性建模通常使用统计方法和数学模型,以定量分析软件系统的可靠性和安全性。以下是一些常见的软件可靠性建模方法:故障树分析(FTA):FTA是一种演绎推理方法,通过识......
  • 腾讯Android岗三面:EventBus 发送的消息,如何做到线程切换?
    一.前言EventBus是一个基于观察者模式的事件订阅/发布框架,利用EventBus可以在不同模块之间,实现低耦合的消息通信。EventBus因为其使用简单且稳定,被广泛应用在一些生产项目中。通常我们就是使用EventBus分发一些消息给消息的订阅者,除此之外我们还可以通过EventBus将消息传......
  • MYSQL POLARDB 学习系列之 拆解 POLARDB 7 (终结) 失败恢复与可靠性
    随着问问题的同学越来越多,公众号内部私信回答问题已经很困难了,所以建立了一个群,关于各种数据库的问题都可以,目前主要是POSTGRESQL,MYSQL,MONGODB,POLARDB,REDIS,SQLSERVER等,期待你的加入,学习POLARDB已经有3-4个月的时间了,当然大部分还是在理论方面,实际上POLARDB在实际的操......
  • Android Handler消息机制详解
    在Android中,只有主线程才能更新UI,但是主线程不能进行耗时操作,否则会产生ANR异常,所以常常把耗时操作放到其他子线程进行。如果在子线程中需要更新UI,一般都是通过Handler发送消息,主线接收消息后进行相应的UI逻辑处理。一.什么是HandlerHandler是一个消息分发对象。Handler是Andr......
  • celery笔记五之消息队列的介绍
    本文首发于公众号:Hunter后端原文链接:celery笔记五之消息队列的介绍前面我们介绍过task的处理方式,将task发送到队列queue,然后worker从queue中一个个的获取task进行处理。task的队列queue可以是多个,处理task的worker也可以是多个,worker可以处理任意queue......
  • 对比Availability可用性、Reliability可靠性、Stability稳定性
    简单区分从事故、稳定方面简单理解如下:名词简单理解可靠性不出事故可用性不出事故出事故后,快速止损稳定性解决故障问题基础上服务持续稳定、性能稳定总体对比可用性可靠性稳定性英文AvailabilityReliabilityStability关注点关注的是服务总体的持续时间。系统在给定时间内总体的运......