我正在使用RabbitMQ服务器。
对于发布消息,我将immediate字段设置为true并尝试发送50,000条消息。使用rabbitmqctl list_queues
命令,我发现队列中的消息数量为零。
然后,我将immediate标志更改为false,再次尝试发送50,000条消息。使用rabbitmqctl list_queues
命令,我发现队列中共有100,000条消息(目前没有消费者存在)。
之后,我启动了一个消费者,它消费了所有100,000条消息。
请问有人可以帮我理解immediate比特字段以及这种行为吗?此外,我也无法理解mandatory比特字段的概念。
immediate
标志在RabbitMQ的API中没有暴露出来?至少在.Net API中没有。我发现唯一可以设置immediate
标志的方法是通过一个内部的BasicPublish
类的构造函数,但该构造函数在库中从未被使用。immediate
是否已经被弃用或不建议使用? - Niall Connaughton