消息中间件
出自 MBA智库百科(https://wiki.mbalib.com/)
目录 |
消息中间件是指一种在需要进行网络通信的系统进行通道的建立,数据或文件发送的中间件。消息中间件的一个重要作用是可以跨平台操作,为不同操作系统上的应用软件集成提供便利。
现在越来越多的分布式应用系统采用消息中间件方式来构建,人们通过使用消息中间件把应用扩展到不同的操作系统和不同的网络环境。基于消息的机制更适用于由事件驱动的应用,当一个事件发生时,消息中间件通知服务方应该进行如何操作。
使用消息中间件编程可以很好地扩展到不同的操作系统和硬件平台上。可以将消息中间件的核心安装在需要进行消息传递的系统上,并在它们之间建立逻辑通道,由消息中间件实现消息发送。消息中间件既可以支持同步方式通讯,又可以支持异步方式通讯,实际上它是一种点到点的机制,因而可以很好地适用于面向对象的编程方式。
消息中间件的工作原理是:应用之间以一系列消息的方式进行通信。在发送者和接收者的传送过程中,消息保存在队列中,避免在传送过程中消息丢失,并且为接收者查看消息提供了一个区域,应用把消息发送到与接收者相关的队列中去,如果发送者想及时得到反馈,他们就要把接收返回消息的队列名称包含在所有他们发送的消息中。消息传递机制要保证将发送者的消息传送到目的地。在消息传递中,应用组件之间不必建立直接的联系,也就是发送方将消息放人队列中,然后接收方自己从队列中提取消息。发送方在发送消息时不必关心接收方是否处于接收状态。
使用消息中间件编程采用的是消息中间件的API,可以很好地扩展到不同的操作系统和硬件平台上。消息中间件的核心安装在需要进行消息传递的系统上,在它们之间建立逻辑通道,由消息中间件实现消息发送。消息中间件可以既支持同步方式,又支持异步方式,实际上它是一种点到点的机制,因而可以很好地适用于面向对象的编程方式。
消息中间件的任务除了以其高可靠性、高安全性传递消息之外,还应包括如下服务:完成不同系统之间的数据转换、加密/解密、支持消息驱动处理模式的触发机制、向多个应用广播数据、发布订阅(publish subscribe)、错误恢复、网络资源定位、消息和请求的优先排序以及广泛的错误查询机制等。其中发布订阅是一种消息传递常用的形式,在这种形式中,应用对其感兴趣的主题进行登记,一旦主题被一个应用“订阅”,那么这个应用就会接收到与该主题相关的消息。
面向消息的中间件为开发者提供了如下优点:在不可靠的网络上实现可靠通信;实现来自于不同平台和网络协议的应用间的无缝连接;简化开发模型等。面向消息的中间件的开发者可以直接调用发送/接收的应用程序接口(API)实现应用程序之间的互操作,避免了系统底层的工作,不必考虑复杂的网络通信问题。