深入理解AMQP协议:https://blog.csdn.net/weixin_37641832/article/details/83270778

虚拟主机

每个Rabbit都能创建很多vhost,我们称之为虚拟主机,每个虚拟主机其实都是mini版的RabbitMQ,拥有自己的队列,交换器和绑定,拥有自己的权限机制。

vhost特性:

  • RabbitMQ默认的vhost是“/”开箱即用;
  • 多个vhost是隔离的,多个vhost无法通讯,并且不用担心命名冲突(队列和交换器和绑定),实现了多层分离;
  • 创建用户的时候必须指定vhost;
列出所以虚拟主机: rabbitmqctl list_vhosts

列出虚拟主机上的所有权限: rabbitmqctl list_permissions -p [vhost_name]

创建虚拟主机: rabbitmqctl add_vhost [vhost_name]

删除虚拟主机: rabbitmqctl delete_vhost [vhost_name]

用户管理

添加用户: rabbitmqctl  add_user username password

列出所有用户: rabbitmqctl list_users

删除用户: rabbitmqctl  delete_user username

清除用户权限: rabbitmqctl  clear_permissions  -p  vhostpath  username

列出用户权限: rabbitmqctl  list_user_permissions username

修改密码: rabbitmqctl  change_password  username  newpassword

设置用户权限: rabbitmqctl  set_permissions  -p  vhostpath  username  ".*"  ".*"  ".*"

集群管理

组成集群命令: rabbitmqctl join_cluster <clusternode> [--ram]

查看集群状态: rabbitmqctl cluster_status

修改集群节点的存储形式: rabbitmqctl change_cluster_node_type disc | ram

摘除节点: rabbitmqctl forget_cluster_node  [--offline]  

修改节点名称: rabbitmqctl rename_cluster_node   oldnode1  newnode1  [oldnode2  newnode2] 

移除所有数据: rabbitmqctl reset(要在 rabbitmqctl stop_app 之后使用)