1. 预备工作
1.1 下载Erlang,因为RabbitMQ是基于Erlang编写的。erlang下载点这里(下载最新的就行了)。
下载完,解压安装。安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行,输入erl,如果出现erlang的版本信息就表示erlang语言环境安装成功。
1.2 下载RabbitMQ。RabbitMQ下载点这里(同样最新版就ok了)。
下载完,解压安装。进入\rabbitmq_server-3.7.0\sbin目录下,打开命令窗口;
输入:rabbitmq-plugins enable rabbitmq_management (这步是装RabbitMQ的管理界面)。
打开网址,http://localhost:15672,输入账号:guest,密码:guest 就可以进入查看队列、交换机信息了。
2. RabbitMQ介绍
RabbitMQ主要是作为消息中间件的,做一些异步处理。和Redis相比,它更加可靠。消息中间件里有发送者、接收者、队列。当队列有好几个时,我们就会引入交换机。
什么是交换机?我的理解就是和通信里一样:多个队列都绑定到交换机,发送者把信息发送给交换机,交换机根据自身类型(稍后会介绍),将信息转发给队列。每个队列都有自己的名字,也有自己的监听者。当监听者监听的队列有信息时,接收者就会收到信息啦!
交换机类型主要有三种:fanout,direct,topic
fanout:发送者发送一个消息给交换机,交换机会同时发给所有绑定的队列。
direct:发送者发送一个消息给指定的队列。
topic:队列绑定到交换机的时候会设置一个关键字。发送者发送信息也会发一个关键字,通过关键字匹配发送者和接收者。
理解了以上部分,就可以开始看代码了。
3. 代码部分
导入到IDE就行了。JDK1.7,运行test代码即可。