RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。
而AMQP协议则是指:即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。
结构图如下:
RabbitMQ有几个重要的概念,如下:
Broker:简单来说就是消息队列服务器实体。
Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
producer:消息生产者,就是投递消息的程序。
consumer:消息消费者,就是接受消息的程序。
由于RabbitMQ 是建立在Erlang OTP平台上的,所以在安装RabbitMQ之前,我们需要先安装Erlang
下载Erlang:http://www.erlang.org/downloads,选择适合的版本进行下载,如图:
下载完成后,点击安装,一路next即可(推荐默认安装,避免出现安装失败)。安装完成之后,配置环境变量(如果没有自动配置环境变量的话),如下如
变量名:ERLANG_HOME
变量值:D:\JavaDevSoft\Middleware\Erlang\erl10.1
将ERLANG_HOME加入到path中:如图:
然后按住windows+r键,输入cmd,打开cmd窗口,输入erl命令,如果出现如下窗口,则表示Erlang安装成功。
接着安装RabbitMQ,此时到官网:http://www.rabbitmq.com/download.html下载需要的版本的RabbitMQ。如下图:
这里依然一路next即可(推荐默认安装,避免出现安装失败)。
安装完成后,进入到安装目录下的sbin目录下:
如图:
使用管理员打开cmd(这里需要注意的是用户名必须为英文),
运行如下命令:rabbitmq-plugins.bat enable rabbitmq_management,出现如下信息。
此时可以访问:http://localhost:15672/#/,出现如下界面:
默认用户名guest/guest,这个RabbitMQ中的最高管理员权限,点击登陆,如果能够成功,出现如下界面,则表示这个RabbitMQ安装成功
3. 在控制台添加用户
点击Admin,如下:
这里添加了一个wangx的用户,但是我们这里最开始是没有virtual host的,我们需要创建一个,如图:
这里的virtual hosts一般写成/name的形式。
然后点击新建的主机名,进入,如下:
这样基本的准备工作就做完了。
管理界面的各个功能如下: