AMQP、MOM、JMS与Message broker的区别解析及概念澄清
消息相关术语的正确理解梳理
嘿,咱们来理清你之前对这些消息术语的误解:
先放上你原来的理解作为参考:
- Message broker:是一个拥有集中存储空间来保存消息以进行传输/路由的应用程序。
- AMQP:是一种(应用层)协议,主要由消息代理应用程序实现。
- MOM:是一个用于向不同应用程序收发消息的客户端应用。
- JMS:也是一种客户端级别的应用,由MOM扩展而来。
下面是每个术语的正确解读:
- Message broker(消息代理):它属于一类中间件应用程序,不仅具备集中式消息存储、传输和路由能力,核心价值是在不同应用系统之间传递消息,实现发送方与接收方的完全解耦——双方不用关心彼此的运行状态,只需要和消息代理交互就行。
- AMQP(高级消息队列协议):这是一种开放的应用层通信协议,它定义了消息传递的标准规范,给各类消息代理提供统一的交互标准。注意,它本身不是应用程序,只是一套大家共同遵守的通信规则。
- MOM(面向消息的中间件):这可不是客户端应用,而是基于消息传递的中间件架构范畴。它通过消息队列机制实现应用间的异步通信,而Message broker就是MOM理念的具体实现载体。
- JMS(Java消息服务):它是Java平台上的消息服务规范,定义了Java应用访问消息中间件的标准接口,并非客户端应用。它基于MOM的理念,为Java开发者提供了统一的消息编程模型,能适配多种兼容JMS规范的消息代理。
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

