切換訊息佇列
本指南說明如何將現有 Milvus 部署中的訊息佇列 (MQ)在 Woodpecker 與其他訊息佇列之間進行切換,且能在線上運作且無停機時間的情況下完成。
此功能尚待發布,相關內容可能有所變更。若您想試用此功能或有任何疑問,請聯絡 Milvus 技術支援。
先決條件
- 「切換訊息佇列」功能僅適用於 Milvus 3.0 及後續版本。使用前請將您的 Milvus 執行個體升級至 Milvus 3.0 或後續版本——此功能在較早版本中不可用。
- 該實例運作正常。
適用範圍
本指南僅涵蓋在 Woodpecker 與其他訊息佇列之間進行切換。Pulsar 與 Kafka 之間的直接切換不在本指南範圍內。
- 在 RocksMQ 與 Woodpecker 之間切換— Milvus 獨立部署 (Docker Compose)
- 在 Pulsar 與 Woodpecker 之間切換— Milvus 叢集 (Helm / Milvus Operator)
- 在 Kafka 與 Woodpecker 之間切換— Milvus 叢集 (Helm / Milvus Operator)
一般工作流程
- 確保 Milvus 實例運作正常。
- 確認來源 MQ 類型與目標 MQ 類型。
- 將目標 MQ 的存取設定套用至 Milvus 配置中,同時不變更 `
mqType` 的值。 - 透過在 MixCoord 上呼叫 WAL alter API 來觸發切換。
- 監控日誌以確認切換已完成。
切換前,請確保目標 MQ 中不包含與當前 Milvus 執行個體所用名稱相同的話題。若目標 MQ 曾被其他 Milvus 執行個體使用過,此點尤為重要,因為話題名稱衝突可能導致預期之外的行為。
支援矩陣
| 來源 MQ | 目標訊息佇列 | 部署 | 狀態 |
|---|---|---|---|
| RocksMQ | Woodpecker(本地/MinIO) | 獨立部署 (Docker Compose) | 支援 |
| Woodpecker(本地/MinIO) | RocksMQ | 獨立模式(Docker Compose) | 受支援 |
| Pulsar(內建/外部) | Woodpecker(MinIO) | 叢集 (Helm / Operator) | 已支援 |
| Woodpecker(MinIO) | Pulsar(外部) | 叢集(Helm / Operator) | 已支援 |
| Kafka(內建/外部) | Woodpecker(MinIO) | 叢集(Helm/Operator) | 受支援 |
| Woodpecker(MinIO) | Kafka(外部) | 叢集 (Helm / Operator) | 已支援 |
| Woodpecker MinIO | Woodpecker 本地(或反之) | 任何 | 不支援 |
請避免反覆切換訊息佇列類型。若確實需要切換,請務必在每次切換前清理相關資料——殘留資料可能會導致預期之外的行為。