FWQ
RabbitMQ中的AMQP协议规范
一、概述 1.1 本文档的目标 此文档定义了一个网络协议-高级消息队列协议(AMQP), 它使一致的客户端程序可以与一致的消息中间件服务器进行通信. 我们面对的是这个领域有经验的技术读者,同时还提供了足够的规范和指南.技术工程师可以根据这些文档,在任何硬件平台上使用各种编程语言来构建遵从该协议的解决方案。 1.2 摘要 1.2.1 为什么使用AMQP? AMQP在一致性客户端和消息中间件(也称为”brokers”)之间创建了全功能的互操作. 我们的目标是实现一种在全行业广泛使用的标准消息中间件技术,以降低企业和系统集成的开销,并且向大众提供工业级的集成服务。 我们的宗旨是通过AMQP,让消息中间件的能力最终被网络本身所具有,并且通过消息中间件的广泛使用发展出一系列有用的应用程序. 1.2.2 AMQP范围 为了完全实现消息中间件的互操作性,需要充分定义网络协议和消息代理服务的功能语义。 因此,AMQP通过如下来定义了网络协议(AMQP是协议!)和服务端服务: 一套确定的消息交换功能,也就是“高级消息交换协议模型”。AMQP模型包括一套用于路由和存储消息的功能模块,以及一套在这些模块之间交换消息的规则 一个网络线级协议(数据传输格式),AMQP促使客户端可使用AMQ模型来与服务器交互. 可以只实现AMQP协议规范中的的部分语义,但是我们相信这些明确的语义有助于理解这个协议。 1.2.3 高级消息队列模型(AMQ 模型) 我们需要明确定义服务器语义,因为所有服务器实现都应该与这些语义保持一致性,否则就无法进行互操作. 因此AMQ 模型定义了一系列模块化组件和标准规则来进行协作. 有三种类型的组件可以连接服务器处理链来创建预期的功能:…