Rabbitmq 芹菜在哪里保存任务?

Rabbitmq 芹菜在哪里保存任务?,rabbitmq,celery,Rabbitmq,Celery,Hy 芹菜(或RabbitMQ)在哪里保存计划的、取消确认的消息/任务?故障时从何处恢复? 我知道它会将参数与代码一起保存。 如果参数只有几MB,那么当有很多任务时,这会是一个问题吗 谢谢大家! Broker(RabbitMQ)负责消息的存储和传递,因此,如果您的消费者未能发送挂起(未确认)的消息,该消息将再次传递给其他消费者(如果有)。RabbitMQ将实体存储在内存或磁盘上 我不明白你什么意思 将参数与代码一起保存 您是在谈论消息参数还是队列/交换参数 如果您指的是消息参数,它们将与消息正文

Hy

芹菜(或RabbitMQ)在哪里保存计划的、取消确认的消息/任务?故障时从何处恢复? 我知道它会将参数与代码一起保存。 如果参数只有几MB,那么当有很多任务时,这会是一个问题吗

谢谢大家!

Broker(RabbitMQ)负责消息的存储和传递,因此,如果您的消费者未能发送挂起(未确认)的消息,该消息将再次传递给其他消费者(如果有)。RabbitMQ将实体存储在内存或磁盘上

我不明白你什么意思

将参数与代码一起保存

您是在谈论消息参数还是队列/交换参数

如果您指的是消息参数,它们将与消息正文一起存储


消息大小以几MB为单位是可以的。最佳消息大小取决于您的体系结构,例如,在某些情况下,消息大小应尽可能小,在某些情况下,消息大小可能为100MB,但过大的消息不是AMQP协议设计的目的。

Tx zaq,是的,我指的是消息参数。但是,un ack消息存储在磁盘上的什么位置?它使用什么样的结构来存储这些消息。我想知道这个理论。RabbitMQ尝试将消息存储在内存中,但当节点内存不足时,会将消息刷新到磁盘,从而导致性能低下。当节点内存和磁盘空间不足时,它将停止接受消息。如果您想深入阅读源代码,但如果您是最终用户,而不是RabbitMQ开发人员(可能不是)或学术研究人员,那么您就不太需要这些详细信息。