activeMQ5.11.1版本带的例子提供了四种协议的简单demo,这四种协议分别为:AMQP,MQTT,OpenWire,Stomp,通过运行这四种协议的的demo可以大致得出这四种协议实现在activeMQ中的性能对比:
amqp Received 10001 in 6.58 seconds mqtt Received 10000 in 2.69 seconds openwire Received 10001 in 8.87 seconds stomp Received 10001 in 14.17 seconds
可以看出,mqtt协议的实现最快,stomp的协议实现最慢。
附这四种协议的简单介绍:
AMQP协议:
即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。
MQTT协议:
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。
OpenWire协议:OpenWire协议在网上没有对应的介绍,似乎是activeMQ自己定义的一种协议,官方网站对其的介绍如下:
OpenWire is our cross language Wire Protocol to allow native access to ActiveMQ from a number of different languages and platforms. The Java OpenWire transport is the default transport in ActiveMQ 4.x or later. For other languages see the following...
stomp协议:STOMP,Streaming Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。