dev.to | 📄 原文链接 | 2026-09-09 收录

升级 RabbitMQ v4 而不中断每日 800 万 Celery 任务

来源:dev.to — 2026-09-08

📋 概述

Kraken 平台团队用 Celery 把长任务卸载给基于 RabbitMQ v3.13.7.1 的 worker,如今必须升到 v4.2.2,而这次升级带来自带破坏性变更:全局 QoS 被移除(带 ETA 的任务会阻塞 worker 直到执行时刻),classic 队列镜像被移除(被迫迁到 quorum 队列)。在每日 800 万条消息、零停机容忍的 SLA 下,不能就地改队列类型、不能停服重建。幸运的是 Celery 的 Native Delayed Delivery 正好需要绑定到 topic 交换器的 quorum 队列,与迁移目标一致,于是他们设计了分期迁移方案。

🔑 核心要点

💡 金句

RabbitMQ doesn't let you change a queue's type after it's created.
← 返回 dev.to 首页