Komponen Utama
Sebuah cluster Milvus terdiri dari lima komponen inti dan tiga dependensi pihak ketiga. Setiap komponen dapat digunakan secara independen di Kubernetes:
Komponen Milvus
- Koordinator: mode master-slave dapat diaktifkan untuk menyediakan ketersediaan tinggi.
- Proksi: satu atau lebih per cluster
- Streaming Node: satu atau lebih per cluster
- Query Node: satu atau lebih per cluster
- Data Node: satu atau lebih per cluster
Ketergantungan pihak ketiga
- Meta Store: Menyimpan metadata untuk berbagai komponen dalam milvus, misalnya, etcd.
- Penyimpanan Objek: Bertanggung jawab atas persistensi data dari file-file besar dalam milvus, seperti file indeks dan log biner, misalnya S3
- Penyimpanan WAL: Menyediakan layanan Write-Ahead Log (WAL) untuk milvus, misalnya pelatuk.
- Di bawah mode zero-disk woodpecker, WAL secara langsung menggunakan penyimpanan objek dan penyimpanan meta tanpa penerapan lain, sehingga mengurangi ketergantungan pihak ketiga.
Mode penyebaran Milvus
Ada dua mode untuk menjalankan Milvus:
Mandiri
Satu instance Milvus yang menjalankan semua komponen dalam satu proses, yang cocok untuk dataset kecil dan beban kerja rendah. Selain itu, dalam mode mandiri, implementasi WAL yang lebih sederhana, seperti woodpecker dan rocksmq, dapat dipilih untuk menghilangkan kebutuhan akan ketergantungan WAL Storage pihak ketiga.
Arsitektur_mandiri
Saat ini, Anda tidak dapat melakukan peningkatan online dari instance Milvus mandiri ke cluster Milvus, meskipun backend penyimpanan WAL mendukung mode cluster.
Cluster
Mode penyebaran terdistribusi Milvus di mana setiap komponen berjalan secara independen dan dapat ditingkatkan untuk elastisitas. Pengaturan ini cocok untuk dataset besar dan skenario beban tinggi.
Arsitektur terdistribusi
Selanjutnya
- Baca Komputasi/Pemisahan Penyimpanan untuk memahami mekanisme dan prinsip desain Milvus.