rabbitmq 常用命令

常用命令:

创建用户

rabbitmqctl add_user {用户名} {密码}

 

// 设置权限

rabbitmqctl set_user_tags {用户名} {权限}

例:创建一个超级用户

rabbitmqctl add_user admin1 admin1

rabbitmqctl set_user_tags admin1 administrator

查看用户列表

rabbitmqctl list_users

为用户赋权

// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源

rabbitmqctl  set_permissions -p vhost1 user1 '.*' '.*' '.*' 

 

// 查看权限

rabbitmqctl list_user_permissions user1

 

创建queue exchange并绑定

1、创建exchange命令,修改name的内容,并修改type的类型

./rabbitmqadmin declare exchange --vhost=celery name="xxx" type=x-random durable=true -u 用户名 -p密码 -H host -P port

 

2、创建queue,修改name为需要创建的queue name

./rabbitmqadmin declare queue --vhost=celery name=xxx durable=true -u 用户名 -p密码 -H host -P port

 

3、exchange bind queue, source 为exchange name,destination和routing_key 默认为queue的名字

./rabbitmqadmin declare binding --vhost=celery source=exchange routing_key=queue destination=queue destination_type=queue -u 用户名 -p密码 -H host -P port

 

队列操作

1、查询队列

1

python /usr/local/sbin/rabbitmqadmin --vhost=vhost --username=username --password=123456  list queues

2、添加队列

1

python /usr/local/sbin/rabbitmqadmin --vhost=/nde --username=user --password=1234  declare queue name=队列名称

3、删除队列

1

python /usr/local/sbin/rabbitmqadmin --vhost=/nde --username=user --password=1234  delete queue name=队列名称

其他相关操作请参照第四大点相关命令参数选项

交换操作

1、查询exchange

1

python /usr/local/sbin/rabbitmqadmin --vhost=vhost --username=username --password=123456  list exchange

2、添加exchange 

1

python /usr/local/sbin/rabbitmqadmin --vhost=vhost --username=user --password=password  declare exchange name=exchange_name type=fanout

1

<br><br>类型有四种:<br>direct:所有发送到Direct Exchange的消息被转发到RouteKey中指定的Queue。Direct模式,可以使用rabbitMQ自带的Exchange:default Exchange 。所以不需要将Exchange进行任何绑定(binding)操作 。<br>消息传递时,RouteKey必须完全匹配,才会被队列接收,否则该消息会被抛弃。

1

headers:官网未做说明<br><br>fanout:所有发送到Fanout Exchange的消息都会被转发到与该Exchange 绑定(Binding)的所有Queue上。Fanout Exchange  不需要处理RouteKey 。只需要简单的将队列绑定到exchange 上。<br>这样发送到exchange的消息都会被转发到与该交换机绑定的所有队列上。类似子网广播,每台子网内的主机都获得了一份复制的消息。所以,Fanout Exchange 转发消息是最快的。

1

<br><br>topic:所有发送到Topic Exchange的消息被转发到所有关心RouteKey中指定Topic的Queue上,Exchange 将RouteKey 和某Topic 进行模糊匹配。此时队列需要绑定一个Topic。可以使用通配符进行模糊匹配,<br>符号“#”匹配一个或多个词,符号“*”匹配不多不少一个词。因此“log.#”能够匹配到“log.info.oa”,但是“log.*只会匹配到“log.error”。所以,Topic Exchange 使用非常灵活。

3、删除exchange

1

python /usr/local/sbin/rabbitmqadmin --vhost=/nde --username=user --password=1234  delete exchange <em id="__mceDel">name=exchange名称</em>

posted on 2022-05-16 10:45  每天进步一点点点点点  阅读(591)  评论(0编辑  收藏  举报