RabbitMQ使用。html
1、安装web
1.官网下载并安装。http://www.rabbitmq.com/download.html shell
2.开启web页面管理工具。ubuntu
lubby@ubuntu:/usr/bin$ rabbitmq-plugins enable rabbitmq_management
这个时候能在安装的机器上面经过页面http://localhost:15672 使用默认帐户guest密码guest来管理。服务器
3.建立vhost工具
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl add_vhost finance
2、建立用户分配权限性能
若是想要在其余机器上面也能登陆rabbitmq manager页面须要建立帐号,而且分配权限。spa
1.建立用户code
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl add_user admin 123456
2.赋予帐户角色
htm
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl set_user_tags admin administrator
3.赋予用户权限
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl set_permissions -p finance admin '.*' '.*' '.*'
RabbitMQ分别和生产者,消费者创建TCP连接,一个TCP连接会被多个channel复用,这样就能够减小RabbitMQ服务器和链接者的TCP的创建。毕竟TCP连接的创建和销毁很消耗性能。
RabbitMQ中分为exchange,routingkey, queue三个概念。exchange是负责把生产者的消息发给绑定的queue;queue就是存放消息的队列,消费者从queue中取数据;routingkey是exchange和queue绑定名称,routingkey是标记exchange该把消息转发给哪些队列。多个queue和exchange绑定的routingkey能够同样。
exchange能够分为direct,fanout,topic,header.其中header基本上不多用到。
direct:消息发给exchange以后直接被转发到全部与其绑定的queue。当生产者发送的时候指定exchange和routingkey,消息会发给和指定exchange绑定且指定routingkey的queue。当生产者直接发送给queue不指定exchange和routingkey则消息会经过默认的direct exchange发送到queue。
fanout:这个就是相似广播的交换器,生产者只需发送给fanout类型的exchange,则全部绑定了该exchange的queue都会收到一份消息,生产者发送的时候只需指定fanout类型的exchange便可。
topic:能够经过设置的routingkey带有#或者*来进行匹配。只要生产者指定了routingkey,那么exchange会匹配和queue绑定的routingkey来把消息传递给queue。