Mengganti Jenis MQ untuk Milvus Standalone
Topik ini menjelaskan cara mengganti jenis antrean pesan (MQ) untuk penerapan mandiri Milvus yang sudah ada. Milvus mendukung peralihan MQ online tanpa waktu henti.
Fitur ini masih dalam proses rilis dan dapat berubah sewaktu-waktu. Silakan hubungi tim dukungan Milvus jika Anda ingin mencobanya atau memiliki pertanyaan.
Prasyarat
- Instance Milvus Standalone yang sedang berjalan yang diinstal melalui Docker atau Docker Compose.
- Instance Milvus telah ditingkatkan ke versi terbaru yang mendukung fitur Switch MQ ini.
Alur kerja umum
Alur kerja umum untuk mengganti jenis MQ adalah sebagai berikut:
- Pastikan instans Milvus berjalan dengan benar.
- Konfirmasikan jenis MQ sumber dan jenis MQ target.
- Konfigurasikan pengaturan akses MQ target ke dalam konfigurasi Milvus tanpa mengubah nilai
mqType. - Picu sakelar dengan memanggil API alter WAL.
- Pantau log untuk memverifikasi peralihan telah berhasil dilakukan.
Sebelum beralih, pastikan bahwa MQ target tidak mengandung topik dengan nama yang sama dengan yang digunakan oleh instans Milvus saat ini. Hal ini terutama penting jika layanan MQ target sebelumnya telah digunakan oleh instans Milvus lain, karena nama topik yang saling bertentangan dapat menyebabkan perilaku yang tidak diharapkan.
Beralih dari RocksMQ ke Woodpecker (Penyimpanan Lokal)
Prosedur ini berlaku untuk penerapan Docker Mandiri Milvus yang menggunakan RocksMQ secara default.
Langkah 1: Pastikan instans Milvus berjalan
Pastikan instans Milvus Standalone Docker Anda berjalan dengan benar. Anda dapat memverifikasi ini dengan membuat koleksi pengujian, menyisipkan data, dan menjalankan kueri.
Langkah 2: Mengonfigurasi Woodpecker dengan penyimpanan lokal
Perbarui konfigurasi Milvus untuk menambahkan pengaturan Woodpecker tanpa mengubah nilai mqType. Buat atau perbarui berkas user.yaml dengan konten berikut:
woodpecker:
storage:
type: local
Kemudian, mulai ulang instans Milvus untuk menerapkan konfigurasi:
bash standalone_embed.sh restart
Langkah 3: Jalankan sakelar MQ
Jalankan perintah berikut untuk memicu sakelar ke Woodpecker:
curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
Ganti <mixcoord_addr> dengan alamat sebenarnya dari layanan MixCoord Anda (secara default, localhost untuk penerapan mandiri).
Langkah 4: Verifikasi pengalihan telah selesai
Proses peralihan selesai secara otomatis. Pantau log Milvus untuk pesan-pesan kunci berikut ini untuk mengonfirmasi peralihan telah selesai:
WAL switch success: <MQ1> switch to <MQ2> finish, re-opening required
AlterWAL broadcast message acknowledged by all vchannels
successfully updated mq.type configuration in etcd
Pada pesan log di atas, <MQ1> adalah jenis MQ sumber (rocksmq), dan <MQ2> adalah jenis MQ target (woodpecker).
- Pesan pertama menunjukkan bahwa peralihan WAL dari sumber ke target telah selesai.
- Pesan kedua menunjukkan bahwa semua saluran fisik telah dialihkan.
- Pesan ketiga menunjukkan bahwa konfigurasi
mq.typetelah diperbarui di etcd.
Beralih dari RocksMQ ke Woodpecker (Penyimpanan MinIO)
Prosedur ini berlaku untuk penerapan Milvus Standalone Docker Compose.
Mulai dari Milvus v2.6, docker-compose.yaml default sudah mendeklarasikan mqType sebagai Woodpecker. Kecuali Anda telah memodifikasi konfigurasi default atau memutakhirkan dari v2.5, prosedur ini mungkin tidak diperlukan.
Langkah 1: Verifikasi bahwa instans Milvus telah berjalan
Pastikan instans Milvus Standalone Docker Compose Anda berjalan dengan baik.
Langkah 2: (Opsional) Verifikasi konfigurasi Woodpecker
Konfigurasi default Milvus sudah menetapkan jenis penyimpanan Woodpecker ke MinIO, sehingga tidak ada konfigurasi tambahan yang diperlukan dalam banyak kasus.
Namun, jika Anda sebelumnya telah menyesuaikan konfigurasi Woodpecker, Anda harus memastikan bahwa woodpecker.storage.type disetel ke minio. Buat atau perbarui file user.yaml dengan konten berikut:
woodpecker:
storage:
type: minio
Kemudian mulai ulang instans Milvus untuk menerapkan konfigurasi:
docker compose down
docker compose up -d
Langkah 3: Jalankan sakelar MQ
Jalankan perintah berikut untuk memicu sakelar ke Woodpecker:
curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
Ganti <mixcoord_addr> dengan alamat sebenarnya dari layanan MixCoord Anda (secara default, localhost untuk penerapan mandiri).
Langkah 4: Verifikasi pengalihan telah selesai
Proses peralihan selesai secara otomatis. Pantau log Milvus untuk pesan-pesan kunci berikut ini untuk mengonfirmasi peralihan telah selesai:
WAL switch success: <MQ1> switch to <MQ2> finish, re-opening required
AlterWAL broadcast message acknowledged by all vchannels
successfully updated mq.type configuration in etcd
Pada pesan log di atas, <MQ1> adalah jenis MQ sumber (rocksmq), dan <MQ2> adalah jenis MQ target (woodpecker).
- Pesan pertama menunjukkan bahwa peralihan WAL dari sumber ke target telah selesai.
- Pesan kedua menunjukkan bahwa semua saluran fisik telah dialihkan.
- Pesan ketiga menunjukkan bahwa konfigurasi
mq.typetelah diupdate di etcd.