RabbitMQ Exchanges Queues使用记录
2024-11-21 16:00喜书

1、在RabbitMQ中,noAck参数是一个标志,用来控制消费者是否应该在接收到消息后自动确认该消息。

2、如果noAck设置为true,则消费者在接收到消息后不会自动发送一个确认给RabbitMQ,这意味着RabbitMQ会持续把这个消息保留下来,直到消费者连接断开。

如果noAck设置为false(这是默认行为),消费者接收到消息后应该发送一个确认给RabbitMQ,表明它已经处理完毕了。

3、多个客户端绑定同一个 Queue name的时候,就是多个接收者共同消费一个,会轮流获取到消息,如果客户端不指定Queue name的时候,Queue name 设置为空'',会生成不同的临时Queue,每一个接收者都会单独消费,都会接收到所有消息

4、如果 rmq 服务端创建了一个固定的 Queue, Exchanges 绑定了 这个 Queue, 如果这个 Queue 没有被消费的话,则数据一直存在,有新的客户端连接上来时会收到所有之前还没被消费确认的消息

5、多个消费者,客户端使用 Queue name的时候不要固定值,设置为'' 这种形式,noAck 设置为 true