RabbitMQ指南(2)-支持的协议

RabbitMQ支持哪些协议呢?

RabbitMQ通过直接支持或插件支持的方式,支持了几种消息协议。

AMQP 0-9-1,0-9,0-8,和扩展协议

RabbitMQ最早开发就是为了支持AMQP,所以该协议是Broker支持的最核心的协议。所有的版本基本上是类似的,但最新的版本描述比较不清晰或相比先前版本没有多大改善。RabbitMQ用不同的方式扩展了AMQP 0-9-1。

AMQP 0-9-1是一个二进制协议,定义了相当强大的消息语法。客户端实现起来是相当容易的,正如它有相当多的语言环境实现一样。

如果你刚好要使用RabbitMQ,建议使用AMQP 0-9-1。

STOMP

STOMP是一个非常简单的基于文本的消息协议。它定义了很少的消息语法,它非常容易实现,并且实现一部分将会更容易(它是仅有的可以手动使用telnet来操作的协议)。

RabbitMQ通过插件机制支持STOMP当前所有版本。

MQTT

MQTT是一个轻量级的 发布/订阅 消息机制的二进制协议,旨在用于低端设备的客户端上。它很好的定义了 发布/订阅消息机制,介不支持其它消息机制。

RabbitMQ通过插件机制支持MQTT 3.1。

AMQP 1.0

不要在意这个名字,AMQP 1.0和AMQP 0-9-1/0-9/0-8在本质上是不同的,几乎什么都不一样。借助于AMQP 1.0非常少的语法要求;因此将现有的Broker添加上AMQP 1.0的协议支持是非常容易的。实质上这个协议比起AMQP 0-9-1,是非常复杂的,并且它有非常少的客户端实现。

RabbitMQ通过插件机制支持AMQP 1.0。

HTTP

HTTP当然不是一个消息协议。RabbitMQ可以通过以下三种方式来传输消息:

  • 管理插件支持一个简单的HTTP API用于发送和接收消息。主要用于测试诊断的目的,但是针对少量的消息来说还是可靠的。
  • Web-STOMP插件使得,在浏览器上可使用基于WebSockets、或者SockJS来控制消息。
  • JSON-RPC插件使浏览器通过JSON-RPC和基于AMQP 0-9-1协议的消息进行通信。注意JSON RPC是一个同步的协议,基于异步传输的AMQP的一些功能将使用polling方式进行模拟。

英文原文:http://www.rabbitmq.com/protocols.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值