RabbitMQ 客户端接口说明

最近更新时间:2025-07-24 15:02:12

我的收藏
本文档详细介绍了 RabbitMQ 客户端支持的核心接口及其功能,涵盖消息生产与消费、Exchange/Queue 管理、流量控制及可靠性保障等关键操作。适用于 开发者快速查阅和集成参考,帮助您高效使用 RabbitMQ 进行消息队列开发。

消息生产与消费

接口
功能说明
basicPublish
向指定 Exchange 发送消息,支持路由键(Routing Key)和消息属性配置。
basicConsume
以 Push 模式订阅队列,服务端主动推送消息到消费者。
basicGet
以 Pull 模式主动从队列拉取单条消息(适用于低频消费场景)。
basicAck
手动确认消息处理成功(确保消息可靠性)。
basicNack
批量拒绝消息,支持 requeue 参数控制是否重新投递。
basicReject
拒绝单条消息(功能类似 basicNack,但仅针对单条消息)。
basicCancel
取消消费者订阅,终止消息推送。
basicRecover
将未确认的消息重新放回队列(可选是否重新投递)。

Exchange 管理

接口
功能说明
exchangeDeclare
声明并创建 Exchange,可配置类型(如 direct/fanout)、持久化等属性。
exchangeDeclarePassive
检查指定的 Exchange 是否存在,若不存在则抛出异常(用于校验)。
exchangeDeclareNoWait
异步声明 Exchange,无返回值(适用于高性能场景,需自行处理错误)。
exchangeDelete
删除指定 Exchange(仅当无绑定关系时生效)。
exchangeBind
绑定两个 Exchange,实现消息路由转发(如日志分发场景)。
exchangeUnbind
解除 Exchange 和 Exchange 的绑定关系。
exchangeDeleteNoWait
异步删除 Exchange,不返回操作结果。
exchangeBindNoWait
声明 Exchange 和 Exchange 的绑定关系,没有则异步创建绑定关系。
exchangeUnbindNoWait
异步解除 Exchange 绑定关系,无返回值。

Queue 管理

接口
功能说明
queueDeclare
声明并创建 Queue,可配置持久化、排他性等属性。
queueDeclarePassive
检查指定的 Queue 是否存在,若不存在则抛出异常。
queueBind
绑定 Queue 到 Exchange,指定路由规则(Routing Key)。
queueUnbind
解除 Queue 和 Exchange 的绑定关系。
queuePurge
清空指定 Queue 中所有消息(谨慎使用,数据不可恢复)。
queueDelete
删除指定 Queue(仅当无消费者时生效)。
queueDeclareNoWait
声明一个 Queue,没有则异步创建。
queueDeleteNoWait
异步删除 Queue,不返回操作结果。
queueBindNoWait
声明 Queue 和某一 Exchange 的绑定关系,没有则异步绑定。

流量控制与可靠性

接口
功能说明
basicQos
限制消费者基于某一个 Channel 或者 Connection 上未进行 ACK 的最大消息数量上限(实现公平分发或流量控制)。
txSelect
当前 Channel 设置成 transaction 模式开启事务。
confirmSelect
开启 Publisher Confirm 模式(高性能替代方案,异步确认消息到达 Broker)。
txCommit
提交事务,确认当前 Channel 的所有未提交操作(如消息发布、ACK 等)。
txRollback
事务回滚,撤销当前 Channel 的未提交操作,消息会重新入队。