ربط أباتشي كافكا Apache Kafka® مع سحابة ميلفوس/زيليز لاستيعاب البيانات المتجهة في الوقت الحقيقي
نوضح في دليل البدء السريع هذا كيفية إعداد كافكا مفتوحة المصدر وزيليز كلاود لاستيعاب البيانات المتجهة.
يشرح هذا البرنامج التعليمي كيفية استخدام Apache Kafka® لدفق البيانات المتجهة واستيعابها في قاعدة بيانات Milvus vector و Zilliz Cloud (Milvus Cloud المدارة بالكامل)، مما يتيح تطبيقات متقدمة في الوقت الفعلي مثل البحث الدلالي وأنظمة التوصيات والتحليلات المدعومة بالذكاء الاصطناعي.
Apache Kafka عبارة عن منصة تدفق أحداث موزعة مصممة لخطوط أنابيب عالية الإنتاجية ومنخفضة الكمون. وهي تُستخدم على نطاق واسع لجمع وتخزين ومعالجة تدفقات البيانات في الوقت الحقيقي من مصادر مثل قواعد البيانات وأجهزة إنترنت الأشياء وتطبيقات الجوال والخدمات السحابية. إن قدرة Kafka على التعامل مع كميات كبيرة من البيانات تجعلها مصدرًا مهمًا للبيانات لقواعد البيانات المتجهة مثل Milvus أو Zilliz Cloud.
على سبيل المثال، يمكن لكافكا التقاط تدفقات البيانات في الوقت الفعلي - مثل تفاعلات المستخدم، وقراءات أجهزة الاستشعار، مع تضمينها من نماذج التعلم الآلي - ونشر هذه التدفقات مباشرةً إلى Milvus أو Zilliz Cloud. وبمجرد وصولها إلى قاعدة البيانات المتجهة، يمكن فهرسة هذه البيانات والبحث فيها وتحليلها بكفاءة.
يوفّر تكامل Kafka مع Milvus وZilliz Cloud طريقة سلسة لبناء خطوط أنابيب قوية لسير عمل البيانات غير المهيكلة. يعمل الموصل مع كل من نشر كافكا مفتوح المصدر والخدمات المستضافة مثل Confluent و StreamNative.
في هذا البرنامج التعليمي نستخدم Zilliz Cloud كعرض توضيحي:
الخطوة 1: تنزيل المكون الإضافي kafka-connect-milvus
أكمل الخطوات التالية لتنزيل الإضافة kafka-connect-milvus.
- قم بتنزيل أحدث ملف مضغوط للمكون الإضافي
zilliz-kafka-connect-milvus-xxx.zip
من هنا.
الخطوة 2: تنزيل كافكا
- قم بتنزيل أحدث ملف كافكا من هنا.
- قم بفك ضغط الملف الذي تم تنزيله وانتقل إلى دليل كافكا.
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
الخطوة 3: ابدأ تشغيل بيئة كافكا
ملاحظة: يجب أن تكون بيئتك المحلية مثبت بها Java 8+.
قم بتشغيل الأوامر التالية لبدء تشغيل جميع الخدمات بالترتيب الصحيح:
ابدأ تشغيل خدمة ZooKeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties
ابدأ تشغيل خدمة وسيط كافكا
افتح جلسة طرفية أخرى وقم بتشغيلها:
$ bin/kafka-server-start.sh config/server.properties
بمجرد تشغيل جميع الخدمات بنجاح، سيكون لديك بيئة كافكا الأساسية قيد التشغيل وجاهزة للاستخدام.
- راجع دليل البدء السريع الرسمي من كافكا للحصول على التفاصيل: https://kafka.apache.org/quickstart
الخطوة 4: تكوين كافكا وزيليز كلاود
تأكد من إعداد وتهيئة كافكا وزيليز كلاود بشكل صحيح.
إذا لم يكن لديك موضوع بالفعل في كافكا، قم بإنشاء موضوع (على سبيل المثال
topic_0
) في كافكا.$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092
إذا لم يكن لديك بالفعل مجموعة في زيليز كلاود، فأنشئ مجموعة مع حقل متجه (في هذا المثال المتجه
dimension=8
). يمكنك استخدام مثال المخطط التالي على زيليز كلاود:ملاحظة: تأكد من تطابق المخطط على كلا الجانبين. في المخطط، يوجد حقل متجه واحد فقط. أسماء كل حقل على كلا الجانبين هي نفسها تمامًا.
الخطوة 5: تحميل المكون الإضافي kafka-connect-milvus إلى مثيل كافكا
فك ضغط الملف
zilliz-kafka-connect-milvus-xxx.zip
الذي قمت بتحميله في الخطوة 1.انسخ الدلائل
zilliz-kafka-connect-milvus
إلى الدليلlibs
من تثبيت كافكا الخاص بك.قم بتعديل الملف
connect-standalone.properties
في الدليلconfig
الخاص بتثبيت كافكا الخاص بك.key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxx
قم بإنشاء وتكوين ملف
milvus-sink-connector.properties
في الدليلconfig
الخاص بتثبيت كافكا الخاص بك.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
الخطوة 6: تشغيل الموصل
ابدأ تشغيل الموصل بملف التكوين السابق
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.properties
جرّب إنتاج رسالة إلى موضوع كافكا الذي قمت بإنشائه للتو في كافكا
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"}
تحقق مما إذا تم إدراج الكيان في المجموعة في زيليز كلاود. هذا ما يبدو عليه الأمر في زيليز كلاود إذا نجح الإدراج:
الدعم
إذا كنت بحاجة إلى أي مساعدة أو كانت لديك أسئلة بخصوص موصل Kafka Connect Milvus Connector، فلا تتردد في التواصل مع المشرف على الموصل: البريد الإلكتروني: support@zilliz.com