Message Broker与AMQP简介
Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:
- 消息路由到一个或多个目的地
- 消息转化为其他的表现方式
- 执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户
- 调用Web服务来检索数据
- 响应事件或错误
- 使用发布-订阅模式来提供内容或基于主题的消息路由
AMQP是Advanced Message Queuing Protocol的简称,它是一个面向消息中间件的开放式标准应用层协议。AMQP定义了这些特性:
- 消息方向
- 消息队列
- 消息路由(包括:点到点和发布-订阅模式)
- 可靠性
- 安全性
RabbitMQ
本文要介绍的RabbitMQ就是以AMQP协议实现的一种中间件产品,它可以支持多种操作系统,多种编程语言,几乎可以覆盖所有主流的企业级技术平台。
安装
在RabbitMQ官网的下载页面https://www.rabbitmq.com/download.html
中,我们可以获取到针对各种不同操作系统的安装包和说明文档。这里,我们将对几个常用的平台一一说明。
下面我们采用的Erlang和RabbitMQ Server版本说明:
- Erlang/OTP 19.1
- RabbitMQ Server 3.6.5
Windows安装
- 安装Erland,通过官方下载页面
http://www.erlang.org/downloads
获取exe安装包,直接打开并完成安装。 - 安装RabbitMQ,通过官方下载页面
https://www.rabbitmq.com/download.html
获取exe安装包。 - 下载完成后,直接运行安装程序。
- RabbitMQ Server安装完成之后,会自动的注册为服务,并以默认配置启动起来。
Mac OS X安装
在Mac OS X中使用brew工具,可以很容易的安装RabbitMQ的服务端,只需要按如下命令操作即可:
- brew更新到最新版本,执行:brew update
- 安装Erlang,执行:
brew install erlang
- 安装RabbitMQ Server,执行:
brew install rabbitmq
通过上面的命令,RabbitMQ Server的命令会被安装到/usr/local/sbin
,并不会自动加到用户的环境变量中去,所以我们需要在.bash_profile
或.profile
文件中增加下面内容:
PATH=$PATH:/usr/local/sbin
这样,我们就可以通过rabbitmq-server
命令来启动RabbitMQ的服务端了。
Ubuntu安装
在Ubuntu中,我们可以使用APT仓库来进行安装
安装Erlang,执行:
apt-get install erlang
执行下面的命令,新增APT仓库到
/etc/apt/sources.list.d
echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
更新APT仓库的package list,执行
sudo apt-get update
命令安装Rabbit Server,执行
sudo apt-get install rabbitmq-server
命令源码来源