0

嗨,

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

谢谢!

4

1 回答 1

1

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

我没明白你的意思

将参数与代码一起保存

您在谈论消息参数或队列/交换参数?

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

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

于 2013-07-21T18:46:38.557 回答