什么是面向消息的中间件 (MOM)?
MOM 的完整形式是面向消息的中间件,它是一种允许通信和交换数据(消息)的基础设施。它涉及使用带有自包含信息单元(消息)的通信通道在应用程序之间传递数据。在基于 MOM 的通信环境中,消息是异步发送和接收的。
MOM 提供异步通信,它只是发送消息并执行其异步操作。它由依赖于异步消息传递的应用程序间通信软件组成,这将反对请求-响应架构。因此异步系统由一个消息队列组成,该队列提供一个临时阶段,以便目标程序变得繁忙或可能无法连接。消息队列有助于将消息存储在 MOM 平台上。 MOM 客户端可以通过队列发送和接收消息。
队列充当在 MOM 中实现异步交互的中心组件。
- 中间件是充当两个或多个对象之间的链接的软件
- 中间件简化了复杂的分布式应用程序,
- 它由 Web 服务器、应用程序服务器等组成,是基于 XML、SOAP、面向服务架构的现代信息技术的组成部分。
中间件的块表示:
特点和能力
- 统一消息
- 供应和监控
- 动态缩放
- 管理和控制工具
- 动态缩放
- 灵活的服务质量
- 安全通信
- 与其他工具集成
MOM 中消息队列的结构和工作方式:
MOM 支持分布式组件之间的通信。中间件使分布式环境中的编程更容易。它的作用类似于分布式计算架构的操作系统 (OS),并为应用程序提供透明度。
面向消息的中间件充当不同应用程序的中间件,例如:
上图是一个面向消息的基于中间件的分布式系统部署,它提供了一种基于服务的进程间通信方法。 MOM 的消息传递与邮政服务相同。
面向消息中间件的架构:
中间件类型:
- 数据库中间件
- 应用服务器中间件
- 消息中间件
- 面向消息的中间件
- 事务处理中间件
面向消息的中间件的作用
- 在复杂的 IT 系统上启用消息分发。
- 它充当两个不同应用程序或平台的连接器。
- MOM 有助于实现跨不同 IT 组织的消息传递。
- 它将创建一个与各种操作系统兼容的分布式产品。
- MOM 允许各种软件组件可以相互通信。
- 它是一种中间件,由连接到不同应用程序的多条线路组成。
- 它连接了涉及消息发起和传递目的地的不同技术。
- 它连接前端和后端系统。
例子:
MQTT(用于遥测传输的消息队列):大多数 MQ 系统和协议都针对支持的企业应用程序,这些类型的技术不适合传感器节点等受限设备。此类设备通常在内存、带宽和功率方面受到限制。
MQTT 是一种面向消息的协议,面向无线传感器网络、M2M(移动 2 移动)等应用,最终是物联网(大量节点和应用松散地通过消息系统)。
好处
- 松耦合
- 可扩展性
- 快速地
- 可靠性
- 可用性
坏处
- 在架构中需要额外的组件
- 糟糕的编程抽象
- 队列抽象的一对一通信
- 未针对某些平台实施