欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RabbitMQ实战

程序员文章站 2022-03-01 20:05:03
...

1、Python脚本

安装后打开http://localhost:15672/cli/,右键另存为py文件

脚本使用说明

rabbitmqadmin.py help
rabbitmqadmin.py help subcommands

2、用户管理

新增 rabbitmqctl add_user 用户名 密码
授权 rabbitmqctl.bat set_user_tags 用户名 角色
用户列表 rabbitmqctl.bat list_users
更改密码 rabbitmqctl.bat change_password 用户 新密码
删除用户 rabbitmqctl.bat delete_user 用户

3、虚拟主机管理

新增 rabbitmqctl.bat add_vhost 名称
列表 rabbitmqctl.bat list_vhosts
删除 rabbitmqctl.bat delete_vhost 名称

4、权限管理

为用户分配虚拟主机权限

rabbitmqctl.bat set_permissions –p vhost 用户 ".*" ".*" ".*"
python脚本 rabbitmqadmin.py declare permission vhost=名称 user=用户 
configure=.*
write=.* read=.*
权限列表
rabbitmqctl.bat list_permissions
rabbitmqadmin.py list permissions
删除 rabbitmqctl.bat clear_permissions -p vhost 用户名
rabbitmqadmin.py delete permission vhost=名称 user=用户名
用户的vhost
rabbitmqadmin.py -u 用户 -p 密码 list vhosts

5、交换机管理

默认vhost创建 rabbitmqadmin.py declare exchange name=交换机名称 type=fanout
在vhost中创建交换机
a、指定用户在vhost中的权限
rabbitmqadmin.py declare permission vhost=名称 user=guest configure=.* 
write=.* read=.*
也可指定具有admin权限的用户
b、rabbitmqadmin.py declare -V chat exchange name=名称 type=fanout
删除 rabbitmqadmin.py -V chat delete exchange name=名称
虚拟机中的交换机 rabbitmqadmin.py -V vhost名称 list exchanges
默认vhost的交换机 rabbitmqadmin.py list exchanges

 6、队列管理

创建 rabbitmqadmin.py declare queue name=队列名 durable=false
指定vhost rabbitmqadmin.py -V vhost名称 declare queue name=队列名
删除 rabbitmqadmin.py -V chat delete queue name=队列名
查询 rabbitmqadmin.py list queues

 7、绑定管理

将vhost、交换机、队列绑定
rabbitmqadmin.py declare binding source=交换机 destination=队列名
发布 rabbitmqadmin.py publish exchange=交换机 routing_key= payload="消息信息"
消费 rabbitmqadmin.py get queue=队列名
清空队列 rabbitmqadmin.py purge queue name=队列

8、策略管理 

修改队列大小
rabbitmqctl set_policy max-queue-len "队列名" "{""max-length-bytes"":
200000}" apply-to queue
rabbitmqadmin.py declare policy name=max-queue-len pattern=队列名 
definition="{""max-length-bytes"":200000}" apply-to=queues
设置队列长度
rabbitmqadmin.py declare policy name=max-queue-len pattern=队列名 
logs definition="{""max-length"":200000}" apply-to=queues
删除
rabbitmqctl.bat clear_policy max-queue-len
rabbitmqadmin.py delete policy name=max-queue-len
设置存活时间TTL
默认vhost(/)下所有队列消息存活时间3s
rabbitmqadmin.py declare policy name=ttl pattern=.* definition=
"{""messagettl"":3000}" apply-to=queues
设置以response开头队列的ttl为10m
rabbitmqadmin.py declare policy name=queue-ttl pattern=response.* 
definition="{""expires"":600000}" apply-to=queues
过期信息设置
rabbitmqadmin.py declare exchange name=logs_dlx type=fanout
将队列中的过期消息转到指定队列中
rabbitmqadmin.py declare policy name=ttl pattern="^error_logs$" 
definition="{""dead-letter-exchange"": ""logs_dlx"", ""message-ttl"":3000}"
 applyto=queues
查询 rabbitmqadmin.py list policies

9、备份

完全备份:停止broker 拷贝Mnesia文件,存档 重启broker
备份配置:rabbitmqadmin.py export/import broker.json

10、插件管理

rabbitmq_message_timestamp为例(为消息添加时间戳)
下载插件文件拷贝到RabbitMQ安装目录的插件目录下
https://dl.bintray.com/rabbitmq/community-plugins/3.7.x/
rabbitmq_message_timestamp/rabbitmq_message_timestamp-20170830-3.7.x.zip
查看插件
sbin>rabbitmq-plugins.bat list
[  ] rabbitmq_message_timestamp        20170830-3.7.x
开启/关闭插件
rabbitmq-plugins.bat enable/disable rabbitmq_message_timestamp

 11、实例配置管理

实例配置从以下几方面设置
设置环境变量、修改配置文件、设置运行参数及策略
a 环境变量
RABBITMQ_NODE_IP_ADDRESS:设置消息代理的ip地址
RABBITMQ_NODE_PORT:配置端口
RABBITMQ_SERVICENAME:Windows服务下的实例名
b 配置文件
在Windows下,配置文件模板地址默认在C:\Users\admin\AppData\Roaming\RabbitMQ目录下,
将文件拷贝到RabbitMQ安装目录下,修改为rabbitmq.config即可

Rest接口 http://localhost:15672/api

 

 

 

相关标签: rabbitmq