RabbitMQ工作流程图
- Broker:它提供一种传输服务,它的角色就是维护一条从生产者到消费者的路线,保证数据能按照指定的方式进行传输。
- Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
- Queue:消息的载体,每个消息都会被投到一个或多个队列。
- Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
- Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
- vhost:虚拟主机,一个broker里可以有多个vhost,用作不同用户的权限分离。
- Producer:消息生产者,就是投递消息的程序。
- Consumer:消息消费者,就是接受消息的程序。
- Channel:消息通道,在客户端的每个连接里,可建立多个channel。
RabbitMQ常用命令
查看插件打开情况:rabbitmq-plugins list
启动监控管理器:rabbitmq-plugins enable rabbitmq_management
关闭监控管理器:rabbitmq-plugins disable rabbitmq_management
1、服务器启动与关闭
启动:brew services start rabbitmq
关闭:brew services stop rabbitmq
重启:brew services restart rabbitmq
关闭应用:rabbitmqctl stop_app
启动应用:rabbitmqctl start_app
查看所有的队列:rabbitmqctl list_queues
删除队列:rabbitmqctl delete_queue queue1
清空队列中消息:rabbitmqctl purge_queue queue1
清除所有的队列:rabbitmqctl reset
查看所有用户:rabbitmqctl list_users
查看状态:rabbitmqctl status
查看集群状态:rabbitmqctl cluster_status
集群同步:所有节点的值相同:/var/lib/rabbitmq/.erlang.cookie
加入集群:host1和host2,在host2上操作
先停止:rabbitmqctl -n rabbit stop_app
加入:rabbitmqctl -n rabbit join_cluster rabbit@$rabbit_hostname1
再启动:rabbitmqctl -n rabbit start_app
2、用户管理
新增:rabbitmqctl add_user admin admin
删除:rabbitmqctl delete_user admin
修改:rabbitmqctl change_password admin admin123
设置角色:rabbitmqctl set_user_tags admin administrator 【monitoring 【policymaker【 management】】】
设置用户权限 rabbitmqctl set_permissions -p VHostPath admin ConfP WriteP ReadP
查询所有权限 rabbitmqctl list_permissions [-p VHostPath]
指定用户权限 rabbitmqctl list_user_permissions admin
清除用户权限 rabbitmqctl clear_permissions [-p VHostPath] admin
创建虚拟主机:rabbitmqctl add_vhost vhostpath
删除虚拟主机:rabbitmqctl delete_vhost vhostpath
列出所有虚拟主机:rabbitmqctl list_vhosts
3、多应用使用
rabbitmqctl -n rabbit_ceilometer 命令
参考文档:rabbitmq常用命令
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。