メッセージキューの概要
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インスタンスは、メッセージキューを1つだけ使用します。
メッセージキューの制限事項: 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 に置き換えられています。