訊息佇列概覽
Milvus 仰賴訊息佇列(預寫日誌,WAL)來管理近期變更的日誌、輸出串流日誌,並提供日誌訂閱功能。在 Milvus 3.x中,Woodpecker是預設的訊息佇列,無需額外的訊息傳遞基礎架構。Pulsar、Kafka 和 RocksMQ 仍針對特定情境提供支援。
支援的訊息佇列
| 訊息佇列 | Milvus 獨立模式 | Milvus 分散式(叢集) | 預設值 | 備註 |
|---|---|---|---|---|
| Woodpecker | ✔️(嵌入式) | ✔️(內嵌或服務) | Milvus 3.x(兩種模式皆適用) | 預設且推薦的選項。基於物件儲存的雲原生 WAL;無需外部服務。 |
| Pulsar | ✔️ | ✔️ | ≤ 2.5.x(叢集預設) | 受支援,可選用外部服務或內建方案。 |
| Kafka | ✔️ | ✔️ | — | 受支援。僅限 Kafka 2.x 或 3.x。 |
| RocksMQ | ✔️ | ✖️ | ≤ 2.5.x(獨立執行模式預設) | 僅支援獨立執行模式。 |
每個 Milvus 執行個體僅使用一個訊息佇列。
訊息佇列限制:升級至 Milvus v3.0.0 時,您必須維持當前的訊息佇列選擇。升級過程中不支援在不同的訊息佇列系統之間切換。未來版本將支援變更訊息佇列系統。
若要變更正在運行的實例所使用的訊息佇列,請參閱「切換訊息佇列」。「切換訊息佇列」功能僅在Milvus 3.0 及後續版本中提供 — 請先升級至 Milvus 3.0 或後續版本。
選擇訊息佇列
- 新部署(Milvus 3.x):請使用Woodpecker(預設值)。獨立執行環境會以內嵌方式運行;對於分散式(叢集)環境,建議的預設方式是透過 Helm 部署專用服務,同時也支援內嵌模式。
- 現有 Pulsar 或 Kafka 使用者:Pulsar 和 Kafka 仍獲得完整支援。您可以繼續使用,或切換至 Woodpecker。
- RocksMQ:僅限獨立執行模式,且已在 Milvus 3.x 中被內嵌式 Woodpecker 所取代。