探索 OpenStack 之(14):OpenStack 中 RabbitMQ 的使用
本文是 OpenStack 中的 RabbitMQ 使用研究 两部分中的第一部分,将介绍 RabbitMQ 的基本概念,即 RabbitMQ 是什么。 第二部分 将介绍其在 OpenStack 中的使用。 1 RabbitMQ 的基本概念 RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。 AMQP 是一个定义了在应用或者组织之间传送消息的协议的开放标准 (an open standard for passing business messages between applications or organizations),它最新的版本是 1.0。AMQP 目标在于解决在两个应用之间传送消息存在的下列问题: 网络是不可靠的 =>消息需要保存后再转发并有出错处理机制 与本地调用相比,网络速度慢 =>得异步调用 应用之间是不同的(比如不同语言实现、不同操作系统等) =>得与应用无关 应用会经常变化 =>同上 AMQP 使用异步的、应用对应用的、二进制数据通信来解决这些问题。 RabbitMQ 是 AMQP 的一种实现,它包括Server (服务器端)、Client (客户端) 和 Plugins (插件)。RabbitMQ 服务器是用 Erlang 语言编写的,其最新版本是刚刚(2015/02/11)发布的 3.4.4 ,而