RabbitMQ未响应ack的消息如何重新回到队列?

悲惨的大爷
  • 2.1k

用的php语言,扩展包是php-amqplib。
问题1:未响应ack的消息如何重新发给其他的消费者呢?
问题2:消费者队列全部死了,如何让发送到exchange的消息不丢失呢?重新启动消费者进程可以获取到之前发送的消息。
谢谢

回复
阅读 5.8k
4 个回答
✓ 已被采纳

1 basic.nack

2 rabbitmq支持消息持久化

可以尝试swoole扩展

1.rmq将消息发送给consumer后,如果未收到ack,并不会删除队列中的消息,当收到ack后,才会删除
2.rmq,同时满足 exchange持久化&queue持久化&message持久化,才能真正保证消息不丢失,但对性能有影响

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏