RabbitMQ-http api介绍

RabbitMQ HTTP API 管理指南:3种方式动态创建与配置 Virtual Host 本文详细介绍了RabbitMQ HTTP API管理指南,重点讲解3种动态创建与配置Virtual Host的方法,包括使用rabbitmqctl命令行工具、调用RabbitMQ Management HTTP API以及使用官方或第三方客户端库。通过对比分析,帮助开发者选择最适合的Virtual Host管理方式,提升分布式系统的消息队列管理效率。 阅读详情

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

图片

中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:

Web服务器

代理服务器

ZooKeeper

Kafka

RabbitMQ(本章节)

RabbitMQ Management HTTP API 终极指南

RabbitMQ 提供的 RESTful 接口,用于无需登录Web控制台即可管理集群、监控状态、操作资源。适合自动化运维、集成监控系统(如Prometheus/Zabbix)或自定义管理工具。

1.启用与认证

启用插件,是因为启用了插件才有暴露的http接口。

rabbitmq-plugins enable rabbitmq_management

2. 认证方式

启用web插件,我们前面就介绍过就涉及到账号密码的问题

所有 API 请求需添加 Basic Auth 头,当然也可以是其他定义的管理员账号。

#当然这个操作只能在本机执行
curl -u guest:guest http://localhost:15672/api/overview

3.主要功能

3.1 集群管理

端点

方法

功能描述

/api/nodes

GET

获取所有节点信息

/api/nodes/{name}

GET

获取特定节点详细信息

/api/cluster-name

GET

获取集群名称

/api/healthchecks/node

GET

节点健康检查

3.2 虚拟主机(vhost)管理

端点

方法

功能描述

/api/vhosts

GET

列出所有虚拟主机

/api/vhosts/{vhost}

PUT

创建虚拟主机

/api/vhosts/{vhost}

DELETE

删除虚拟主机

3.3 队列(queues)操作

端点

方法

功能描述

/api/queues

GET

获取所有队列

/api/queues/{vhost}/{queue}

PUT

声明队列

/api/queues/{vhost}/{queue}/contents

DELETE

清除队列消息

/api/queues/{vhost}/{queue}/bindings

GET

获取队列绑定关系

3.4 交换机(exchanges)管理

端点

方法

功能描述

/api/exchanges

GET

列出所有交换机

/api/exchanges/{vhost}/{exchange}

PUT

创建交换机

/api/exchanges/{vhost}/{exchange}

DELETE

删除交换机

3.5 消息操作

端点

方法

功能描述

/api/queues/{vhost}/{queue}/get

POST

消费消息(拉取模式)

/api/exchanges/{vhost}/{exchange}/publish

POST

发布消息

4.关键使用示例

4.1 创建虚拟主机
curl -u "guest:guest" \
     -X PUT \
     -H "Content-Type: application/json" \
     -d '{"description": "My custom VHost"}' \
     http://localhost:15672/api/vhosts/my_vhost
4.2 创建交换机
curl -u "guest:guest" \
     -X PUT \
     -H "Content-Type: application/json" \
     -d '{
           "type": "direct",
           "durable": true
         }' \
     http://localhost:15672/api/exchanges/my_vhost/orders.direct
4.3 创建队列
curl -u "guest:guest" \
     -X PUT \
     -H "Content-Type: application/json" \
     -d '{
           "auto_delete": false,
           "durable": true
         }' \
     http://localhost:15672/api/queues/my_vhost/my_queue
4.4 绑定
curl -u "guest:guest" \
     -X POST \
     -H "Content-Type: application/json" \
     -d '{
           "routing_key": "order.created",
           "arguments": {}
         }' \
     http://localhost:15672/api/bindings/my_vhost/e/orders.direct/q/my_queue
4.5 发布消息​​​​​​​
curl -u "guest:guest" \
     -X POST \
     -H "Content-Type: application/json" \
     -d '{
           "properties": {},
           "routing_key": "order.created",
           "payload": "Hello World",
           "payload_encoding": "string"
         }' \
     http://localhost:15672/api/exchanges/my_vhost/orders.direct/publish
4.6 消费消息​​​​​​​
curl -u "guest:guest" \
     -X POST \
     -H "Content-Type: application/json" \
     -d '{
           "count": 5,
           "ackmode": "ack_requeue_true",
           "encoding": "auto",
           "truncate": 50000
         }' \
     http://localhost:15672/api/queues/my_vhost/my_queue/get

这里未发ACK确认。当然这里只列举部分功能,更多的功能希望大家多去尝试。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

使用RabbitMQ的HTTP API获取队列消息内容 通过RabbitMQ的HTTP API,您可以获取队列中的消息内容。在本文中,我们将探讨如何使用RabbitMQ的HTTP API来获取队列消息的内容,并提供相应的源代码示例。通过运行上述代码,您将能够使用RabbitMQ的HTTP API获取队列消息的内容。接下来,我们将使用Python编程语言来演示如何使用RabbitMQ的HTTP API来获取队列消息的内容。希望本文能够帮助您理解如何使用RabbitMQ的HTTP API来获取队列消息的内容,并为您的实际应用场景提供参考。库发送POST请求。 阅读详情

相关推荐

RabbitMQ查询队列使用情况和消费者详情实现

RabbitMQ Management插件还提供了基于RESTful风格的HTTP API接口来方便调用。一共涉及4种HTTP方法:GET、PUT、DELETE和POST。GET方法一般用来获取如集群、节点、队列、交换器等信息。PUT方法用来创建资源,如交换器、队列之类的。DELETE方法用来删除资源。POST方法也是用来创建资源的,与PUT不同的是,POST创建的是无法用具体名称的资源。比如绑定关系(bindings)和发布消息(publish)无法指定一个具体的名称。

洛阳泰山的博客 4363

RabbitMQ的HTTP API

获取所有队列 http://127.0.1.1:15672/api/queues // 1.获取所有队列 // http://server:port/api/queues //http://127.0.1.1:15672/api/queues @RequestMapping("getAllQueues") public Result getAllQueues...

qq_25292419的博客 1841

RabbitMQ-HTTP API 接口列表

这资料适用于学习,希望对大家的学习有点帮助。

.Net RabbitMQ实战指南——HTTP API接口调用

RabbitMQ Management插件还提供了基于RESTful风格的HTTP API接口来方便调用。一共涉及4种HTTP方法:GET、PUT、DELETE和POST。GET方法一般用来获取如集群、节点、队列、交换器等信息。PUT方法用来创建资源,如交换器、队列之类的。DELETE方法用来删除资源。POST方法也是用来创建资源的,与PUT不同的是,POST创建的是无法用具体名称的资源。比如绑定关系(bindings)和发布消息(publish)无法指定一个具体的名称。 点击Web管理界面左下角的“HT.

weixin_48967543的博客 1791

[学习笔记]Esp32 + 4G模块,随身wifi,ppp拨号上网

Esp32S3 + 4G模块制作随身WIFI教程

weixin_45595548的博客 7416

coreldraw sp2精简版 x4_CorelDRAW X4下载-CorelDRAW X4 SP2 精简版_Win10镜像官网

CorelDRAW X4 SP2是一个专业图形设计软件,专用于矢量图形编辑与排版,借助其丰富的内容和专业图形设计、照片编辑和网站设计软件,您将能够随心所欲地表达自己的风格与创意,轻松创作徽标标志、广告标牌、车身贴和传单、模型绘制、插图描画、排版及分色输出等。CorelDRAW X4 SP2软件特色CorelDraw X4 相比两年前的 CorelDraw X3 加入了大量新特性,总计有50项以上,...

weixin_30346025的博客 8901

RabbitMQ 常用 API

RabbitMQ 常用 API

墨鸦的博客 7620

手把手教你搭建自己的 API 中转站

本文介绍了如何通过开源工具CLIProxyAPI(CPA)搭建本地AI模型代理服务,解决多工具切换、海外API访问困难等问题。CPA可将OpenAI、Gemini等不同服务的API统一封装,用户只需配置一次账号信息,所有客户端即可通过标准接口访问。文章详细讲解了CPA的下载安装、配置修改、账号导入及客户端连接方法,并强调其经济性、可控性和集中管理优势。通过自建中转站,用户可避免第三方服务的质量风险,实现多账号负载均衡,构建个人AI资源池。最后提供了网络配置等实用建议,帮助开发者高效使用AI编程工具。

DongJiYong_20的博客 1820

RabbitMQ通过HTTP API获取队列消息内容

RabbitMQ通过HTTP API获取队列消息内容 背景 为配合公司数据中台建设,我们对公司内部使用的mysql binlog数据分发中间件(现已开源:https://gitee.com/kekingcn/keking-binlog-distributor )进行定制化改造,使其能够同时支持redis和rabbitmq两个分发渠道,并能在前端页面监控队...

weixin_34357887的博客 2986

Word毕业论文排版:图片和表格题注的终极指南(含自动编号技巧)

本文是Word毕业论文排版中图片和表格题注的终极指南,详细讲解了如何利用题注功能实现自动编号,告别繁琐易错的手动操作。核心内容包括创建定制标签、配置带章节的编号格式、插入交叉引用以及一键更新全文编号的技巧,旨在帮助学生构建自动化文档体系,提升排版效率和论文严谨性。

weixin_29211309的博客 1095

Squareline Studio + LVGL实战:从Figma设计到MCU屏幕的UI开发一条龙(避坑中文显示)

本文详细介绍了使用Squareline Studio和LVGL实现从Figma设计到MCU屏幕UI开发的全流程,重点解决中文显示等常见问题。通过设计工具链搭建、设计稿转换、LVGL工程集成及性能优化等步骤,帮助开发者高效完成嵌入式GUI开发,提升开发效率。

weixin_29246195的博客 584

rabbitmq 持续获取_RabbitMQ通过HTTP API获取队列消息内容

RabbitMQ通过HTTP API获取队列消息内容背景为配合公司数据中台建设,我们对公司内部使用的mysql binlog数据分发中间件(现已开源:https://gitee.com/kekingcn/keking-binlog-distributor )进行定制化改造,使其能够同时支持redis和rabbitmq两个分发渠道,并能在前端页面监控队列长度、队列消息内容等信息需求由于之前已经完成后...

weixin_42172204的博客 1727

【ArcGIS】ArcMap中北京1954坐标系转WGS84的实战技巧与参数选择

本文详细解析了在ArcMap中将北京1954坐标系数据转换为WGS84坐标系的完整流程与核心技巧。针对常见的坐标偏移问题,文章首先强调了数据“归位”的重要性,并提供了处理假东、假北值的具体操作步骤。随后,重点阐述了地理变换参数(如Beijing_1954_To_WGS_1984_2)的选择逻辑及其对转换精度的决定性影响,并结合案例说明了参数选择、中央经线确认及结果验证等关键环节,旨在帮助用户高效、准确地完成坐标转换。

f6g7h8i9j的博客 330

RabbitMQ通过http API获取队列数

前提 通过API获取的前提是你的 rabbitmq_management处于开启状态,也就是能通过 http://host:15672 访问web管理端。RabbitMQ的安装与开启rabbitmq_management可以参考RabbitMQ安装、基础。 访问地址 上网找了一下发现没有几个说清楚了怎么直接用HTTP请求去获取队列数。其实完全不用去网上找的,因为RabbitMQ自己就提供了HTTP...

AntChenxi 的博客 1万+

《HiVT: Hierarchical Vector Transformer for Multi-Agent Motion Prediction》论文阅读之HiVT

目录摘要1.介绍2.相关工作3.方法3.1. 总体框架3.2 场景表示 3.3 分层向量Transformer3.3.1 局部编码器3.3.2 全局交互模块3.3.3 多模态未来解码器3.4 训练4.实验4.1 实验设置4.2 消融研究 4.3. 结果5.结论 准确预测周围交通参与者的未来运动对于自动驾驶车辆的安全至关重要。最近,矢量化方法由于能够捕捉交通场景中的复杂交互而在运动预测领域占据主导地位。然而,现有的方法忽略了问题的对称性并且受到昂贵的计算成本的影响,面临着在不牺牲预测性能的情况

Gavinmiaoc的博客 3340

MATLAB - 激光雷达 - 相机联合标定(Lidar-Camera Calibration)

激光雷达传感器和相机通常在自动驾驶应用中结合使用,因为激光雷达传感器收集三维空间信息,而相机则以二维图像捕捉空间的外观和纹理。您可以融合来自这些传感器的数据来改进物体检测和分类。激光雷达-相机标定可以估算出一个变换矩阵,给出两个传感器之间的相对旋转和平移。在进行激光雷达-相机数据融合时,您可以使用该矩阵。本图说明了激光雷达和相机标定 (LCC) 过程的工作流程,我们使用棋盘格作为标定对象。我们从激光雷达和相机数据中提取棋盘角和平面,然后在它们的坐标系之间建立几何关系,进行标定。

机器人控制与仿真应用 7371

RabbitMq的http API调用

最近做项目需要对rabbit消息队列进行有效验证查看了文档发现之后http的api能够验证先对api进行讲解在下面添加调用demo1.获取所有队列http://server:port/api/queues返回json字符串,需要认证 在demo中替换账号密码即可2.获取指定队列信息http://server:port/api/queues/vhost/name刚开始没有注意文档直接使用此路径去调用...

u013488838的专栏 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

RabbitMQ通过http API获取队列消息数量等信息

前言 最近在项目运行过程中发现,某些队列消费者宕机,导致消息阻塞,而我们没有及时发现的情况!为解决这种情况,需要我们及时获取队列情况,发现问题及时预警! API RabbitMQ提供了HTTP API手册,发现其中有获取队列情况的API。(本地的API手册地址为:http://localhost:15672/api) 所有API调用都需要做权限验证,需在请求头部中加入权限验证信息,如下 ...

我迷了鹿 5565

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Rabbitmq HTTP-API

记录Rabbitmq的pika库实现了对消息队列的完美管理,但是假设我现在有n个服务(consumer),我如何能够看到哪个服务健康的存在呢?我之前的方法是写个监控服务的,每个服务写好后,会定期给监控服务发送个1,表示“我还活着”。如果监控挂了,那就没辙了。当然你可以通过http://ip:15672来查看所有服务的状态,然而不巧的是,这个管理页面不是很好,至少UI不够美观。通过官网,我们可以看到M

猫影 7649

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RabbitMQ Management HTTP API的简单封装

RabbitMQ Management HTTP API的简单封装 文章目录RabbitMQ Management HTTP API的简单封装官方相关代码展示 官方相关 **官方文档:**https://rawcdn.githack.com/rabbitmq/rabbitmq-server/v3.10.0/deps/rabbitmq_management/priv/www/api/index.html **支持版本:**v3.10.0 **介绍翻译:**所有URI将仅服务于application/json类

999

RabbitMQ管理HTTP API 翻译(一)

在安装RabbitMQ在本机Windows系统(win7)后,通过http://127.0.0.1:15672访问管理界面,首页最下方点击“HTTP API”查看官网文档。 一)介绍 除了这个帮助页面之外,所有URI只提供application/json类型的资源,并且需要HTTP基本身份验证(使用标准RabbitMQ用户数据库)。默认用户是guest/guest。 许多URI要求将虚拟主机的名称作为路径的一部分,因为名称只能唯一地标识虚拟主机中的对象。由于默认虚拟主机名为“/”,因此需要将其编码为“%2

da_dou_dou的博客 661

RabbitMQ 迁移

如果您只需要导出和导入RabbitMQ的定义(如vhost、exchange、queue等),可以使用RabbitMQ的 HTTP API。

Doublelv 的博客专栏。 2435

RabbitMQ Management HTTP API 译文

介绍 除了此帮助页面之外,所有URIs都只提供application/json类型的资源,并且需要HTTP基本身份验证(使用标准rabbitMQ用户数据库)。默认用户是guest/guest。 许多URIs需要虚拟主机的名字作为路径的一部分,因为名字只能唯一地标识虚拟主机中的对象。由于默认虚拟主机名为“/”,因此需要将其编码为“%2f”。 PUTing资源然后创建它,你发送的json对象必须...

树洞 3910

RabbitMQ Management HTTP API--官方文档

Introduction Apart from this help page, all URIs will serve only resources of typeapplication/json, and will require HTTP basic authentication (using the standard RabbitMQ user database). The d...

596

RabbitMq-APi 如何用Java客户端调用

第一步 引入依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>http-client</artifactId> <version>3.1.1.RELEASE</version> </dependency&gt...

weixin_39831786的博客 1485
上一篇: RabbitMQ-网络分区(Network Partitions)处理
下一篇: RabbitMQ-监控(Monitor)
dessler
博客等级 码龄20年 3057粉丝 434原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值