二、JMS和AMQP的对比

说明:

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层的协议标准;具有跨平台,跨语言特性

 
点击链接加入群【java研究所】:http://jq.qq.com/?_wv=1027&k=eC5Q0O
原文地址:https://www.cnblogs.com/rosydawn/p/rabbitmq.html