RabbitMQ支持哪些协议?

RabbitMQ支持哪些协议?

RabbitMQ支持哪些协议?

RabbitMQ直接或通过使用插件支持多种消息传递协议。此页面描述了受支持的协议,并有助于区分它们。

AMQP 0-9-1和扩展

RabbitMQ最初是为了支持AMQP 0-9-1而开发的。因此,此协议是代理支持的“核心”协议。所有这些变体彼此非常相似,以后的版本会整理掉早期版本中不清楚或无用的部分。我们以各种方式扩展了 AMQP 0-9-1。

AMQP 0-9-1是二进制协议,并且定义了非常强大的消息传递语义。对于客户端来说,这是一个相当容易实现的协议,因此,有大量的客户端库可用于许多不同的编程语言和环境。

AMQP 0-9-1是RabbitMQ教程使用的协议。

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对语义的要求要少得多。因此,向现有代理添加对AMQP 1.0的支持更加容易。该协议比AMQP 0-9-1复杂得多,并且客户端实现较少。

RabbitMQ通过插件支持AMQP 1.0 。

HTTP和WebSockets

虽然HTTP并不是真正的消息传递协议。但是,RabbitMQ可以通过三种方式通过HTTP传输消息:

该网站STOMP插件支持STOMP消息使用WebSockets的浏览器。该网站MQTT插件支持MQTT消息使用WebSockets的浏览器。该管理插件支持简单的HTTP API发送和接收消息。这主要用于诊断目的,但可用于低容量消息传递而没有可靠的传递。

获取帮助并提供反馈

如果您对本指南的内容或与RabbitMQ有关的任何其他主题有疑问,请随时在RabbitMQ邮件列表中询问。

帮助我们改善文档<3

如果您想对该网站做出贡献,可以在GitHub上找到其来源。只需分叉存储库并提交拉取请求。谢谢!

相关推荐

招生软件大比拼,哪个最好用?效果外化+成本对比,2025年招生必备!
古墓最多的地方是哪里 洛阳邙山古墓最多(帝王名人墓聚集)
“东莞制造”为啥能赢得世界杯青睐?
bat365bet

“东莞制造”为啥能赢得世界杯青睐?

📅 08-30 👁️ 5955