メッセージキューの切り替え
このガイドでは、既存のMilvusデプロイメントのメッセージキュー(MQ)を、ダウンタイムなしでオンラインのまま、Woodpeckerから別のメッセージキューに切り替える方法について説明します。
この機能はリリース予定であり、変更される可能性があります。試してみたい場合やご質問がある場合は、Milvusサポートまでお問い合わせください。
前提条件
- MQ切り替え機能は、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のタイプを確認します。
mqTypeの値を変更せずに、ターゲットMQのアクセス設定をMilvusの設定に反映させます。- MixCoord上でWAL alter APIを呼び出し、切り替えをトリガーします。
- ログを監視し、切り替えが完了したことを確認します。
切り替えを行う前に、ターゲット MQ に、現在の Milvus インスタンスで使用されているものと同じ名前のトピックが含まれていないことを確認してください。ターゲット MQ が別の Milvus インスタンスで使用されていた場合は、トピック名の競合により予期しない動作が発生する可能性があるため、この確認が特に重要です。
サポートマトリックス
| ソース MQ | ターゲット 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 ローカル(またはその逆) | 任意 | 未対応 |
MQのタイプを繰り返し切り替えることは避けてください。やむを得ず切り替える必要がある場合は、切り替えのたびに必ず関連データをクリーンアップしてください。残留データがあると、予期しない動作を引き起こす可能性があります。