跳到主要内容
版本:v3.0.x

Message Queue Overview

Milvus 依赖消息队列(write-ahead log,WAL)来管理最近变更的日志、输出流日志,并提供日志订阅。在 Milvus 3.x 中,Woodpecker 是默认消息队列,无需单独的消息基础设施。Pulsar、Kafka 和 RocksMQ 仍然支持用于特定场景。

支持的 Message Queue

Message queueMilvus StandaloneMilvus Distributed(cluster)默认版本说明
Woodpecker✔️(embedded)✔️(embedded 或 service)Milvus 3.x (两种模式)默认且推荐使用。基于对象存储的云原生 WAL;无需外部服务。
Pulsar✔️✔️≤ 2.5.x(cluster 默认)支持,可使用外部服务或内置组件。
Kafka✔️✔️支持。仅支持 Kafka 2.x 或 3.x。
RocksMQ✔️✖️≤ 2.5.x(standalone 默认)仅支持 standalone
  • 每个 Milvus 实例只能使用一种 Message Queue。

  • Message Queue 限制:升级到 Milvus v3.0.0 时,必须保持当前的 Message Queue 选择。升级期间不支持在不同 Message Queue 系统之间切换。未来版本将支持更改 Message Queue 系统。

  • 如需更改运行中实例的 Message Queue,请参阅 Switch Message Queue。Switch MQ 功能适用于 Milvus 3.0 及更高版本,请先升级到 Milvus 3.0 或更高版本。

选择消息队列

  • 新部署(Milvus 3.x): 使用 Woodpecker (默认选项)。Standalone 以 embedded 模式运行 Woodpecker;对于 distributed(cluster)部署,推荐默认使用通过 Helm 部署的专用 service,同时也支持 embedded 模式。
  • 现有 Pulsar 或 Kafka 用户: Pulsar 和 Kafka 仍然受到完整支持。你可以继续使用它们,也可以 切换到 Woodpecker
  • RocksMQ: 仅支持 standalone,并且在 Milvus 3.x 中已由 embedded Woodpecker 取代。