说明: |
JMS |
AMQP |
|
定义 |
java api |
Wire-protocol |
|
跨语言 |
否 |
是 |
|
跨平台 |
否 |
是 |
|
Model |
提供两种消息模型: (1)peer-2-peer (2)pub/sub |
提供五中消息模型: (1)direct exchange (2)fanout exchange (3)topic exchange (4)headers exchange (5)system exchange 本质来讲,后四种和JMS的pub/sub模型没有太大的差别,仅是在路由机制上做了跟详细的划分 |
|
支持消息类型 |
TextMessage,MapMessage,BytesMessage,StreamMessage,ObjectMessage,Message(只是消息头和属性) |
byte[]当实际应用时,有复杂的消息,可以将消息学序列化后发送 |
|
综合评价 |
JMS定义了JAVA 差事层面的标准,在Java体系中,多了client均可以通过JMS进行交互,不需要应用修改代码,但是对跨平台的支持较差 |
AMQP定义了wire-level层的协议标准;具有跨平台,跨语言特性 |