RabbitMq使用

RabbitMQ使用。

一、安装

1.官网下载并安装。http://www.rabbitmq.com/download.html

2.开启web页面管理工具。

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

二、创建用户分配权限

如果想要在其他机器上面也能登录rabbitmq manager页面需要创建账号,并且分配权限。

    1.创建用户

lubby@ubuntu:/usr/bin$ sudo rabbitmqctl add_user admin 123456

    2.赋予账户角色

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使用_第1张图片

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。


你可能感兴趣的:(rabbitmq)