我有2个关于rabbitmq消费者(接收者)的问题:
如何定义(从队列中静态地)注册到某个队列的消费者是什么,这样如果一个消费者关闭,消息将在该消费者再次启动之后仍然被传递,或者是否有任何其他方式实现这个?
消费者如何连接到仍未创建的队列,在rabbitmq教程中,我可以在 生产环境 者之前调用消费者并且它仍然可以工作,有人可以解释一下这是如何工作的吗?
谢谢
为了达到你想要的目标很简单,这是设计在rabbitmq(只是确保你没有承认 . 所以基本上消费者应该完成处理消息然后确认它 . 如果消费者在处理期间死亡,消息是没有确认并且它被重新排队 . 下一次消费者启动它就会获得该消息 . 当然,如果你有多个相同的实例(为了简单起见)消费者,那么up up的实例会获取重新排队的消息这很好地解释了in the second tutorial on rmq website .
声明队列是一个幂等操作,如果队列没有好的话会创建队列,实际上它通常是如何工作的 . 发布者实际上甚至(不需要)知道队列,它只关心交换和路由密钥 . 它也不关心是否有人在听,它只是发布消息 . 消费者需要告诉它想要绑定队列的路由密钥 .
1 回答
为了达到你想要的目标很简单,这是设计在rabbitmq(只是确保你没有承认 . 所以基本上消费者应该完成处理消息然后确认它 . 如果消费者在处理期间死亡,消息是没有确认并且它被重新排队 . 下一次消费者启动它就会获得该消息 . 当然,如果你有多个相同的实例(为了简单起见)消费者,那么up up的实例会获取重新排队的消息这很好地解释了in the second tutorial on rmq website .
声明队列是一个幂等操作,如果队列没有好的话会创建队列,实际上它通常是如何工作的 . 发布者实际上甚至(不需要)知道队列,它只关心交换和路由密钥 . 它也不关心是否有人在听,它只是发布消息 . 消费者需要告诉它想要绑定队列的路由密钥 .