首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RabbitMQ-http api介绍

RabbitMQ-http api介绍

作者头像
运维小路
发布2025-07-03 15:34:03
发布2025-07-03 15:34:03
13000
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

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

Web服务器

代理服务器

ZooKeeper

Kafka

RabbitMQ(本章节)

RabbitMQ Management HTTP API 终极指南

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

1.启用与认证

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

代码语言:javascript
代码运行次数:0
运行
复制
rabbitmq-plugins enable rabbitmq_management
2. 认证方式
启用web插件,我们前面就介绍过就涉及到账号密码的问题

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

代码语言:javascript
代码运行次数:0
运行
复制
#当然这个操作只能在本机执行
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 创建虚拟主机

代码语言:javascript
代码运行次数:0
运行
复制
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 创建交换机

代码语言:javascript
代码运行次数:0
运行
复制
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 创建队列
代码语言:javascript
代码运行次数:0
运行
复制
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 绑定
代码语言:javascript
代码运行次数:0
运行
复制
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 发布消息
代码语言:javascript
代码运行次数:0
运行
复制
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 消费消息

代码语言:javascript
代码运行次数:0
运行
复制
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确认。当然这里只列举部分功能,更多的功能希望大家多去尝试。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • RabbitMQ Management HTTP API 终极指南
    • 2. 认证方式
    • 启用web插件,我们前面就介绍过就涉及到账号密码的问题
    • 3.主要功能
    • 3.1 集群管理
    • 3.2 虚拟主机(vhost)管理
    • 3.3 队列(queues)操作
    • 3.4 交换机(exchanges)管理
    • 3.5 消息操作
  • 4.关键使用示例
  • 4.1 创建虚拟主机
  • 4.2 创建交换机
    • 4.3 创建队列
    • 4.4 绑定
    • 4.5 发布消息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档