当前位置: 首页 > 后端技术 > Java

必须掌握的RabbitMQ操作命令

时间:2023-04-02 02:05:20 Java

@[toc]关于RabbitMQ的管理,我们可以通过网页来完成。在松哥之前的文章中,我也和朋友介绍过:如何管理RabbitMQ页面除了通过web管理页面进行管理,我们还可以通过命令行进行管理。松哥在HowtounderstandtheVirtualHostinRabbitMQ中介绍了几个RabbitMQ管理命令。也是一种另类的玩法!使用RESTAPI操作RabbitMQ已经介绍了一些相关的RESTAPI。在方便发送HTTP请求的地方调用这些RESTAPI是非常方便的。但是在一些不方便发送HTTP请求的地方,这些RESTAPI使用起来并不是很方便,所以今天松哥就来介绍一下RabbitMQ的另一种玩法---rabbitmqadmin。1.rabbitmqadmin我们平时自己做题,一般都是打开RabbitMQ的web管理页面。但是在生产环境中,往往没有web管理页面,我们只能通过CLI命令来管理MQ。实际上,web管理页面虽然友好,但往往没有CLI那么快,而通过CLI命令行的操作,我们可以做更多的定制,比如向集中监控系统提供关键信息,触发警报。直接操作CLI命令行有点麻烦。RabbitMQ提供了一个CLI管理工具rabbitmqadmin,它实际上是一个基于RabbitMQ的HTTPAPI用Python编写的脚本。因为手动编写RESTAPI的请求是相当麻烦的,这些脚本只是为我们简化了这个操作,让这件事情变得更简单。要使用rabbitmqadmin,您必须先安装它。如果我们在创建RabbitMQ容器时使用rabbitmq:3-management镜像,那么默认情况下会安装rabbitmqadmin。否则,我们可能需要自己安装rabbitmqadmin。安装方法非常简单。首先,确保您的设备上安装了Python。这是最基本的,因为rabbitmqadmin工具是一个Python脚本。然后打开RabbitMQ的web管理页面,输入如下地址(我的管理页面映射到25672):http://localhost:25672/cli/index.html在打开的页面可以看到rabbitmqadmin的下载链接。下载rabbitmqadmin后,赋予其可执行权限:chmod+xrabbitmqadmin下载rabbitmqadmin后,我们可以直接用记事本打开,里面其实是一堆Python脚本。这个过程操作起来比较麻烦,建议大家直接使用rabbitmq:3-management镜像,一步搞定。2、rabbitmqadmin的功能列出exchange、queues、bindings、vhosts、users、permissions、connections和channels。创建和删除交换、队列、绑定、虚拟主机、用户和权限。发布和获取消息,以及消息详情。关闭连接并清空队列。导入和导出配置。下面宋哥就为小伙伴们一一介绍这些功能。3.列出各种信息查看所有交换机:rabbitmqadminlistexchanges查看所有队列:rabbitmqadminlistqueues查看所有Bindings:rabbitmqadminlistbindings查看所有虚拟主机:rabbitmqadminlistvhosts查看所有用户信息:rabbitmqadminlistusers查看所有权限信息:rabbitmqadminlistpermissions查看所有连接信息:rabbitmqadminlistconnections查看所有通道信息:rabbitmqadminlistchannels4。一个完整的例子下面我们用rabbitmqadmin写一个完整的消息收发例子。首先创建一个名为javaboy-exchange的exchange:rabbitmqadmindeclareexchangename=javaboy-exchangedurable=trueauto_delete=falsetype=direct这里的各种参数很容易理解,就不赘述了。接下来,创建一个名为javaboy-queue的队列:rabbitmqadmindeclarequeuename=javaboy-queuedurable=trueauto_delete=false接下来,创建一个Binding以将开关绑定到消息队列:rabbitmqadmindeclarebindingsource=javaboy-exchangedestination=javaboy-queuerouting_key=javaboy-routing这里涉及到三个概念:source:源头,其实就是指交换机。destination:目的地其实就是指消息队列。routing_key:这是路由键。接下来发布消息:rabbitmqadminpublishrouting_key=javaboy-queuepayload="hellojavaboy"这里的参数很简单,没什么好说的。查看队列中的消息(只查看,不消费,读完消息还在):rabbitmqadmingetqueue=javaboy-queue清空一个队列中的消息:rabbitmqadminpurgequeuename=javaboy-queue5。命令列表表格字体有点小,大家在公众号【江南一点鱼】后台回复rabbitmqadmin获取Excel文档链接。6.总结,今天简单介绍一下rabbitmqadmin,一个简单的Python脚本,有兴趣的朋友可以试试~