本文档详细介绍了 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 的未提交操作,消息会重新入队。 |