网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

什么是消息导向中间件(Message Oriented Middleware,简称MOM)?

更新时间:2026年03月27日   作者:spoto   标签(Tag):

MOM的全称是……面向消息的中间件这是一种用于促进通信和数据交换的基础设施。它通过一个能够承载信息单元的通信渠道,实现不同应用程序之间的数据传输。在基于MOM的通信环境中,消息的发送和接收是异步进行的。

面向消息的中间件

MOM支持异步通信,它允许发送消息而不需要立即得到回复。这样一来,发送者可以继续处理其他任务。MOM是一种应用程序间通信的软件,它依赖于异步消息传递机制,这与传统的请求-响应架构有所不同。在这样的异步系统中,……消息队列它充当临时存储区域,当目标程序处于忙碌状态或当前未连接时,消息可以被暂时存储在这里。

消息队列在MOM平台中起着至关重要的作用,它负责存储各种消息。MOM客户端可以通过该队列来发送和接收消息,从而确保分布式应用程序之间能够实现可靠且独立的通信。

在MOM中,队列是实现异步交互的核心组件。

  • 中间件是一种软件,它充当两个或多个对象之间的连接纽带。
  • 中间件技术能够简化复杂的分布式应用程序的处理过程。
  • 它包含了网络服务器、应用服务器等组件,是现代信息技术中不可或缺的一部分。XML, SOAP, 面向服务的架构.

块的表示方式中间件

中间件

特点与功能

统一消息传递MOM提供了一种一致的消息传递基础设施,能够支持各种通信模式,比如点对点通信以及发布-订阅模式。这使得不同系统之间的集成变得非常顺畅。

资源配置与监控这些工具可用于资源的分配以及系统性能的实时监控,从而帮助管理员更好地管理工作负载,并及时发现问题。

动态扩展/调整MOM系统能够自动调整资源分配,以应对工作负载的变化。通过增加或减少资源,MOM系统可以确保性能的稳定性,同时实现资源的高效利用。

管理和控制工具它包含了用于配置、管理和控制消息流、队列以及系统组件的行政工具,从而确保系统的平稳运行与维护。

灵活的服务质量它支持可配置的服务质量参数,例如交付保证(例如,最多一次、至少一次、精确一次)、延迟以及吞吐量等参数,这些参数可以根据应用程序的需求进行定制。

安全通信它通过使用加密、身份验证和授权机制来确保数据传输的安全性,从而防止未经授权的访问和数据泄露。

与其他工具的集成MOM平台能够与其他企业工具和平台进行集成,例如数据库、API以及云服务。这种集成功能有助于实现系统的互操作性,同时还能提升工作流程的自动化程度。

MOM中消息队列的结构与工作原理:

MOM中的消息队列

在MOM系统中,消息队列的工作原理如下:

  • 消息创建:
    生产者会生成一条包含要传输的数据的消息。这条消息中包含了元数据(如头部信息、优先级、时间戳)以及实际内容。
  • 消息发送:
    生产者通过MOM基础设施将消息发送到消息队列中。
  • 排队:
    这些消息被放入队列中,等待某个消费者来读取并处理它们。通常情况下,消息会以先进先出的方式进行处理,除非指定了其他优先级。
  • 消息消费:
    消费者从队列中读取消息,对其进行处理,并可以选择向队列管理器发送确认消息。
  • 致谢与移除:
    在成功处理并收到确认后,该消息将从队列中移除。如果未收到任何确认(例如,由于故障等原因),那么该消息可能会根据相关策略被重新发送出去。
  • 重试与错误处理:
    如果消息的传递或处理过程中出现失败,那么该消息可以被重新尝试发送,或者被重定向到“死信队列”中进行进一步处理。

MOM能够实现分布式组件之间的通信。中间件使得在分布式环境中进行编程变得更加容易。它就像一台操作系统一样,为分布式系统提供各种功能。分布式计算它具备出色的架构设计,能够为应用程序提供良好的可扩展性。

一种以消息为传输方式的中间件,它可以为不同的应用程序提供通信支持。例如:

MOM部署

上述图表展示了一个以消息为中心、基于中间件技术的分布式系统部署方式。这种架构提供了一种基于服务的进程间通信方式。MOM中的消息传递机制与邮政服务中的邮件传递机制类似。

建筑学面向消息的中间件

MOM的架构设计
  • 应用程序/软件该应用程序是最终用户或业务逻辑层,负责发送和接收消息。它利用MOM系统进行通信,从而实现与其它应用程序的分离式、异步通信。
  • API该API充当了应用程序与MOM系统之间的接口。它使得应用程序能够发送、接收和处理消息,而无需处理底层消息传递基础设施所带来的复杂性问题。
  • 消息管理器消息管理器负责消息的创建、格式化和路由处理。它确保消息符合预期的格式要求,并将消息发送到相应的队列或目标位置。
  • 活动经理事件管理器负责检测、记录以及处理系统或应用程序发生的各种事件。它可以根据诸如消息到达、系统错误或资源阈值等事件来触发相应的操作。
  • 线程管理器Thread Manager负责在MOM系统中处理多线程操作。它能够有效管理消息的并发处理,优化资源的使用,同时确保能够高效地同时处理多个任务。
  • 消息队列消息队列是一种存储缓冲区,用于保存消息,直到这些消息被相应的应用程序或服务处理完毕。它支持异步通信,从而实现了发送者和接收者之间的独立交互。
  • 分销经理分发管理器负责控制消息如何被传递给一个或多个接收者。它支持多种分发模式,比如点对点传输和发布-订阅模式。此外,它还负责处理消息的负载均衡和路由问题。

中间件的类型

数据库中间件它允许应用程序与数据库进行交互,从而管理连接、查询以及事务处理。

应用服务器中间件为在客户端和后端系统之间运行和管理应用程序逻辑提供了环境支持。

消息传递中间件它通过消息传递和排队机制,促进了分布式系统之间的通信。

消息导向中间件(Message-Oriented Middleware, MOM)支持通过消息队列进行异步通信,从而将各个系统分离开来,确保数据的可靠传输。

事务处理中间件负责处理分布式事务,确保事务的一致性、可靠性,并在出现故障时能够回滚。

角色/职责面向消息的中间件

  • 能够使得消息在复杂的IT系统中进行传递。
  • 它充当了不同应用程序或平台之间的连接纽带。
  • 有助于实现不同IT组织之间的消息传递。
  • 创建出一种适用于多种操作系统的分布式产品。
  • 允许各种软件组件之间进行通信。
  • 通过消息传递渠道,将多个应用程序连接在一起。
  • 整合了多种技术,以实现消息的发送与传递。
  • 能够无缝地将前端系统和后端系统连接在一起。

示例/例子

MQTT(消息队列用于遥测传输):大多数MQ系统和协议都是为企业和商业应用而设计的。这类技术并不适合用于内存、带宽和功耗都有限的设备,比如传感器节点。这些设备的性能通常受到限制。

MQTT是一种以消息为传输方式的协议,其应用场景包括无线传感器网络、移动设备之间的通信,以及物联网领域。在物联网中,大量的节点和应用程序通过这种消息传递系统来相互连接。

优点/优势

  • 松散的耦合关系:各个组件可以独立运行,这样就能更轻松地进行更新操作,同时也提高了系统的灵活性。
  • 可扩展性:该系统能够高效地扩展,以应对不断增长的需求,同时不会牺牲性能。
  • 快速:能够提供快速的响应时间,从而提升性能。
  • 可靠性:始终能够稳定运行,不会出现故障,从而确保系统的可靠运行。
  • 可获取性:该设施仍然可以正常使用,且停机时间极少。

劣势/缺点

  • 需要额外的组件来使用。系统架构中还需要增加一些基础设施。
  • 糟糕的编程抽象性:很难用代码清晰地表达出这种复杂性。
  • 一对一沟通:队列抽象仅支持直接的发送者-接收者之间的交互。
  • 平台限制:某些平台上并不支持或无法使用。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料