Menghubungkan Apache Kafka® dengan Milvus/Zilliz Cloud untuk Konsumsi Data Vektor Secara Real-Time
Dalam panduan awal yang cepat ini, kami menunjukkan cara menyiapkan kafka open source dan Zilliz Cloud untuk menelan data vektor.
Tutorial ini menjelaskan cara menggunakan Apache Kafka® untuk mengalirkan dan memasukkan data vektor ke dalam basis data vektor Milvus dan Zilliz Cloud (Milvus yang dikelola secara penuh), sehingga memungkinkan aplikasi-aplikasi real-time tingkat lanjut seperti pencarian semantik, sistem rekomendasi, dan analisis yang didukung oleh AI.
Apache Kafka adalah platform streaming acara terdistribusi yang dirancang untuk saluran pipa dengan throughput tinggi dan latensi rendah. Platform ini banyak digunakan untuk mengumpulkan, menyimpan, dan memproses aliran data waktu nyata dari sumber-sumber seperti basis data, perangkat IoT, aplikasi seluler, dan layanan cloud. Kemampuan Kafka untuk menangani data dalam jumlah besar menjadikannya sumber data penting bagi database vektor seperti Milvus atau Zilliz Cloud.
Sebagai contoh, Kafka dapat menangkap aliran data waktu nyata-seperti interaksi pengguna, pembacaan sensor, bersama dengan penyematannya dari model pembelajaran mesin-dan mempublikasikan aliran data ini secara langsung ke Milvus atau Zilliz Cloud. Setelah berada di basis data vektor, data ini dapat diindeks, dicari, dan dianalisis secara efisien.
Integrasi Kafka dengan Milvus dan Zilliz Cloud menyediakan cara yang mulus untuk membangun pipeline yang kuat untuk alur kerja data yang tidak terstruktur. Konektor ini berfungsi untuk penerapan Kafka sumber terbuka dan layanan yang di-host seperti Confluent dan StreamNative.
Dalam tutorial ini kami menggunakan Zilliz Cloud sebagai demonstrasi:
Langkah 1: Unduh plugin kafka-connect-milvus
Selesaikan langkah-langkah berikut untuk mengunduh plugin kafka-connect-milvus.
- unduh file zip plugin terbaru
zilliz-kafka-connect-milvus-xxx.zip
dari sini.
Langkah 2: Unduh Kafka
- Unduh kafka terbaru dari sini.
- Buka zip file yang telah diunduh dan buka direktori kafka.
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
LANGKAH 3: Memulai Lingkungan Kafka
CATATAN: Lingkungan lokal Anda harus sudah terinstal Java 8+.
Jalankan perintah berikut untuk memulai semua layanan dalam urutan yang benar:
Mulai layanan ZooKeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties
Mulai layanan broker Kafka
Buka sesi terminal lain dan jalankan:
$ bin/kafka-server-start.sh config/server.properties
Setelah semua layanan berhasil dijalankan, Anda akan memiliki lingkungan dasar Kafka yang berjalan dan siap digunakan.
- periksa panduan memulai cepat resmi dari kafka untuk detailnya: https://kafka.apache.org/quickstart
Langkah 4: Konfigurasikan Kafka dan Zilliz Cloud
Pastikan Anda telah menyiapkan Kafka dan Zilliz Cloud dan dikonfigurasi dengan benar.
Jika Anda belum memiliki topik di Kafka, buatlah sebuah topik (contoh:
topic_0
) di Kafka.$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
Jika Anda belum memiliki koleksi di Zilliz Cloud, buatlah koleksi dengan bidang vektor (dalam contoh ini vektornya adalah
dimension=8
). Anda dapat menggunakan contoh skema berikut di Zilliz Cloud:Catatan: Pastikan skema di kedua sisi cocok satu sama lain. Dalam skema tersebut, terdapat tepat satu bidang vektor. Nama setiap bidang di kedua sisi sama persis.
Langkah 5: Muatkan plugin kafka-connect-milvus ke Kafka Instance
unzip berkas
zilliz-kafka-connect-milvus-xxx.zip
yang Anda unduh pada Langkah 1.salin direktori
zilliz-kafka-connect-milvus
ke direktorilibs
pada instalasi Kafka Anda.memodifikasi berkas
connect-standalone.properties
di direktoriconfig
pada instalasi Kafka Anda.key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxx
buat dan konfigurasikan berkas
milvus-sink-connector.properties
di direktoriconfig
pada instalasi Kafka Anda.name=zilliz-kafka-connect-milvus connector.class=com.milvus.io.kafka.MilvusSinkConnector public.endpoint=https://<public.endpoint>:port token=***************************************** collection.name=topic_0 topics=topic_0
Langkah 6: Luncurkan konektor
Jalankan konektor dengan berkas konfigurasi sebelumnya
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
Coba buat pesan ke topik Kafka yang baru saja Anda buat di Kafka
bin/kafka-console-producer.sh --topic topic_0 --bootstrap-server localhost:9092 >{"id": 0, "title": "The Reported Mortality Rate of Coronavirus Is Not Important", "title_vector": [0.041732933, 0.013779674, -0.027564144, -0.013061441, 0.009748648, 0.00082446384, -0.00071647146, 0.048612226], "link": "https://medium.com/swlh/the-reported-mortality-rate-of-coronavirus-is-not-important-369989c8d912"}
Periksa apakah entitas telah dimasukkan ke dalam koleksi di Zilliz Cloud. Berikut adalah tampilannya di Zilliz Cloud jika penyisipan berhasil:
Dukungan
Jika Anda memerlukan bantuan atau memiliki pertanyaan tentang Kafka Connect Milvus Connector, jangan ragu untuk menghubungi pengelola konektor: Email: support@zilliz.com