دروس أباتشي كافكا: مقدمة ، مفاهيم ، سير العمل ، أدوات ، تطبيقات
نشرت: 2020-03-10جدول المحتويات
مقدمة
مع تزايد شعبية كافكا كنظام مراسلة ، تطلب العديد من الشركات محترفين لديهم معرفة جيدة بمهارات كافكا ، وهنا يكون برنامج أباتشي كافكا التعليمي مفيدًا. يتم استخدام كمية هائلة من البيانات في مجال البيانات الضخمة التي تحتاج إلى نظام مراسلة لجمع البيانات وتحليلها.
يعد كافكا بديلاً فعالاً لوسيط الرسائل التقليدي مع تحسين الإنتاجية ، والتقسيم المتأصل والنسخ المتماثل والتسامح المدمج مع الخطأ ، مما يجعله مناسبًا لتطبيقات معالجة الرسائل على نطاق واسع. إذا كنت تبحث عن دروس أباتشي كافكا ، فهذه هي المقالة المناسبة لك.
النقاط الرئيسية لهذا البرنامج التعليمي أباتشي كافكا
- مفهوم أنظمة المراسلة
- مقدمة موجزة لأباتشي كافكا
- المفاهيم المتعلقة بعنقود كافكا وعمارة كافكا
- وصف موجز لسير عمل مراسلة كافكا
- نظرة عامة على أدوات كافكا المهمة
- استخدام حالات وتطبيقات أباتشي كافكا
تعرف أيضًا على: برنامج Apache Spark Streaming التعليمي للمبتدئين
لمحة موجزة عن أنظمة المراسلة
تتمثل الوظيفة الرئيسية لنظام المراسلة في السماح بنقل البيانات من تطبيق إلى آخر ؛ يضمن النظام أن التطبيقات تركز فقط على البيانات دون أن تتعطل أثناء عملية مشاركة البيانات ونقلها. هناك نوعان من أنظمة المراسلة:
1. نظام الرسائل من نقطة إلى نقطة
في هذا النظام ، يُطلق على منتجي الرسائل اسم المرسلون والذين يستهلكون الرسائل هم المستلمون. في هذا المجال ، يتم تبادل الرسائل عبر وجهة تعرف باسم قائمة الانتظار ؛ يقوم المرسلون أو المنتجون بإنتاج الرسائل إلى قائمة الانتظار ، ويتم استهلاك الرسائل من قبل المستلمين من قائمة الانتظار.

مصدر
2. نشر - اشتراك نظام الرسائل
في هذا النظام يُطلق على منتجي الرسائل اسم الناشرين والمستهلكين للرسائل هم مشتركون. ومع ذلك ، في هذا المجال ، يتم تبادل الرسائل من خلال وجهة تعرف باسم الموضوع. ينتج الناشر الرسائل الخاصة بموضوع ما وبعد الاشتراك في موضوع ما ، يستهلك المشتركون الرسائل من الموضوع. يسمح هذا النظام ببث الرسائل (وجود أكثر من مشترك ويحصل كل منهم على نسخة من الرسائل المنشورة لموضوع معين).
مصدر
أباتشي كافكا - مقدمة
يعتمد Apache Kafka على نظام مراسلة للنشر والاشتراك (pub-sub). في نظام المراسلة العامة ، يكون الناشرون هم منتجو الرسائل ، والمشتركون هم مستهلكو الرسائل. في هذا النظام ، يمكن للمستهلكين أن يستهلكوا جميع الرسائل الخاصة بالموضوع (الموضوعات) المشتركين. يتم استخدام مبدأ نظام المراسلة pub-sub في Apache Kafka.
بالإضافة إلى ذلك ، يستخدم Apache Kafka مفهوم الرسائل الموزعة ، حيث يوجد طابور غير متزامن للرسائل بين نظام المراسلة والتطبيقات. مع وجود قائمة انتظار قوية قادرة على التعامل مع حجم كبير من البيانات ، يسمح لك كافكا بنقل الرسائل من نقطة نهاية إلى أخرى وهو مناسب لكل من استهلاك الرسائل عبر الإنترنت وغير متصل. من خلال الجمع بين الموثوقية وقابلية التوسع والمتانة والأداء عالي الإنتاجية ، يعد Apache Kafka مثاليًا للتكامل والتواصل بين وحدات أنظمة البيانات واسعة النطاق في العالم الحقيقي.
اقرأ أيضًا: أفكار مشروع البيانات الضخمة
مصدر
مفهوم عناقيد أباتشي كافكا
مصدر
- كافكا zookeeper : السماسرة في الكتلة يتم تنسيقهم وإدارتهم بواسطة حراس الحديقة. يخطر Zookeeper المنتجين والمستهلكين بوجود وسيط جديد أو فشل الوسيط في نظام كافكا كما يخطر المستهلكين بقيمة الإزاحة. ينسق المنتجون والمستهلكون أنشطتهم مع وسيط آخر عند الاستلام من حارس الحديقة.
- سمسار كافكا: وسطاء كافكا هم أنظمة مسؤولة عن الحفاظ على البيانات المنشورة في مجموعات كافكا بمساعدة حراس الحديقة. قد يكون لدى الوسيط صفر أو أكثر من الأقسام لكل موضوع.
- منتج كافكا: الرسائل الخاصة بواحد أو أكثر من موضوعات كافكا يتم نشرها من قبل المنتج ودفعها للوسطاء ، دون انتظار إقرار الوسيط.
- مستهلك كافكا: يستخرج المستهلكون البيانات من الوسطاء ويستهلكون الرسائل المنشورة بالفعل من موضوع واحد أو أكثر ، ويصدرون طلب سحب غير متزامن إلى الوسيط ليكون جاهزًا لاستهلاك المخزن المؤقت للبايت ، ثم يزود قيمة الإزاحة للإرجاع أو التخطي إلى أي نقطة التقسيم.
المفاهيم الأساسية لعمارة كافكا
- المواضيع : هي قناة منطقية يتم من خلالها نشر الرسائل من قبل المنتجين والتي يستقبل منها المستهلكون الرسائل. يمكن تكرار المواضيع (نسخها) وكذلك تقسيمها (تقسيمها). يتم نشر نوع معين من الرسائل حول موضوع معين ، مع تحديد كل موضوع باسمه الفريد.
- أقسام الموضوع: في مجموعة كافكا ، يتم تقسيم الموضوعات إلى أقسام بالإضافة إلى تكرارها عبر الوسطاء. يمكن للمنتج إضافة مفتاح إلى رسالة منشورة ، وتنتهي الرسائل التي تحمل نفس المفتاح في نفس القسم. يتم تعيين معرف تزايدي يسمى الإزاحة لكل رسالة في القسم ، وهذه المعرفات صالحة فقط داخل القسم وليس لها قيمة عبر الأقسام في الموضوع.
- القائد والنسخة المتماثلة: كل وسيط كافكا لديه عدد قليل من الأقسام مع كل قسم ، إما كونه قائدًا أو نسخة طبق الأصل (نسخة احتياطية) للموضوع. القائد مسؤول ليس فقط عن القراءة والكتابة لموضوع ما ولكن أيضًا عن تحديث النسخ المتماثلة ببيانات جديدة. إذا فشل القائد على أي حال ، يمكن أن تتولى النسخة المتماثلة دور القائد الجديد.
عمارة أباتشي كافكا
مصدر
يسمى كافكا الذي لديه أكثر من وسيط واحد كتلة كافكا. ستتم مناقشة أربعة من واجهات برمجة التطبيقات الأساسية في هذا البرنامج التعليمي أباتشي كافكا :

- Producer API: تسمح واجهة برمجة تطبيقات منتج كافكا بنشر سلسلة من التسجيلات بواسطة تطبيق إلى موضوع واحد أو أكثر من موضوعات كافكا.
- واجهة برمجة تطبيقات المستهلك: تسمح واجهة برمجة التطبيقات للمستهلك للتطبيق بمعالجة التدفق المستمر للسجلات التي يتم إنتاجها إلى موضوع واحد أو أكثر.
- Streams API: تسمح واجهة برمجة تطبيقات الدفق للتطبيق باستهلاك دفق إدخال من موضوع واحد أو عدة مواضيع وإنشاء دفق إخراج إلى موضوع واحد أو عدة موضوعات إخراج ، مما يسمح للتطبيق بالعمل كمعالج تدفق. هذا يعدل بكفاءة تدفقات الإدخال إلى تدفقات الإخراج.
- موصل API: تسمح واجهة API الخاصة بالموصل بإنشاء وتشغيل منتجين ومستهلكين قابلين لإعادة الاستخدام ، وبالتالي تمكين الاتصال بين موضوعات كافكا وأنظمة البيانات أو التطبيقات الحالية.
سير العمل في مجال رسائل المشترك بين الناشر
- يرسل منتجو كافكا رسائل إلى موضوع على فترات منتظمة.
- يضمن وسطاء كافكا التوزيع المتساوي للرسائل داخل الأقسام عن طريق تخزينها في الأقسام المكونة لموضوع معين.
- يتم الاشتراك في موضوع معين من قبل مستهلكي كافكا. بمجرد اشتراك المستهلك في موضوع ما ، يتم تقديم الإزاحة الحالية للموضوع إلى المستهلك ، ويتم حفظ الموضوع في مجموعة zookeeper.
- يطلب المستهلك من كافكا رسائل جديدة على فترات منتظمة.
- يرسل كافكا الرسائل إلى المستهلكين فور استلامها من المنتجين.
- يتلقى المستهلك الرسالة ويعالجها.
- يحصل وسيط كافكا على إقرار بمجرد معالجة الرسالة.
- عند استلام الإقرار ، تتم ترقية الإزاحة إلى القيمة الجديدة.
- يتكرر التدفق حتى يتوقف المستهلك عن الطلب.
- يمكن للمستهلك تخطي أو إرجاع الإزاحة في أي وقت وقراءة الرسائل اللاحقة حسب الراحة.
سير عمل نظام الرسائل في قائمة الانتظار
في نظام مراسلة قائمة الانتظار ، يمكن للعديد من المستهلكين الذين لديهم نفس معرف المجموعة الاشتراك في أحد الموضوعات. يتم اعتبارهم مجموعة واحدة ويشاركون الرسائل. سير عمل النظام هو:
- يرسل منتجو كافكا رسائل إلى موضوع على فترات منتظمة.
- يضمن وسطاء كافكا التوزيع المتساوي للرسائل داخل الأقسام عن طريق تخزينها في الأقسام المكونة لموضوع معين.
- مستهلك واحد يشترك في موضوع معين.
- حتى يشترك مستهلك جديد في نفس الموضوع ، يتفاعل كافكا مع المستهلك الوحيد.
- مع وصول المستهلكين الجدد ، يتم مشاركة البيانات بين مستهلكين. تتكرر المشاركة حتى يساوي عدد الأقسام المكونة لهذا الموضوع عدد المستهلكين.
- لن يتلقى المستهلك الجديد رسائل أخرى عندما يتجاوز عدد المستهلكين عدد الأقسام المكونة. ينشأ هذا الموقف بسبب شرط أن يحق لكل مستهلك الحصول على قسم واحد على الأقل ، وإذا لم يكن هناك قسم فارغ ، فيجب على المستهلكين الجدد الانتظار.
2 أدوات مهمة في أباتشي كافكا
بعد ذلك ، في درس أباتشي كافكا هذا ، سنناقش أدوات كافكا المجمعة ضمن “org.apache.kafka.tools. *.
1. أدوات النسخ المتماثل
إنها أداة تصميم عالية المستوى تضفي توافرًا أعلى ومتانة أكبر.
- أداة إنشاء موضوع: تُستخدم هذه الأداة لإنشاء موضوع بعامل نسخ وعدد افتراضي من الأقسام وتستخدم مخطط كافكا الافتراضي لتنفيذ مهمة نسخ متماثلة.
- أداة List Topic: يتم سرد المعلومات الخاصة بقائمة موضوعات معينة بواسطة هذه الأداة. يتم عرض الحقول مثل القسم واسم الموضوع والقائد والنسخ المتماثلة و isr بواسطة هذه الأداة.
- أداة إضافة قسم: يمكن إضافة المزيد من الأقسام لموضوع معين بواسطة هذه الأداة. كما يقوم أيضًا بالتخصيص اليدوي للنسخ المتماثلة للأقسام المضافة.
2. أدوات النظام
يمكن استخدام سكربت فئة run لتشغيل أدوات النظام في كافكا. الصيغة هي:
- صانع المرآة: استخدام هذه الأداة هو عكس كتلة كافكا إلى أخرى.
- أداة Kafka Migration: تساعد هذه الأداة في ترحيل وسيط كافكا من إصدار إلى آخر.
- Consumer Offset Checker: تعرض هذه الأداة موضوع كافكا ، وحجم السجل ، والإزاحة ، والأقسام ، ومجموعة المستهلكين ، والمالك لمجموعة معينة من الموضوعات.
اقرأ أيضًا: دروس Apache Pig

أعلى 4 حالات استخدام لأباتشي كافكا
دعونا نناقش بعض حالات الاستخدام المهمة لأباتشي كافكا في هذا البرنامج التعليمي أباتشي كافكا:
- معالجة التدفق: تتيح ميزة المتانة القوية لـ Kafka استخدامها في مجال معالجة التدفق. في هذه الحالة ، تتم قراءة البيانات من موضوع ما ومعالجتها ثم كتابة البيانات المعالجة إلى موضوع جديد لإتاحتها للتطبيقات والمستخدمين.
- المقاييس: يستخدم كافكا بشكل متكرر للرصد التشغيلي للبيانات. يتم تجميع الإحصائيات من التطبيقات الموزعة لعمل تغذية مركزية للبيانات التشغيلية.
- تتبع نشاط موقع الويب: توظف مخازن البيانات مثل BigQuery و Google كافكا لتتبع الأنشطة على مواقع الويب. يتم نشر أنشطة الموقع مثل عمليات البحث أو مشاهدات الصفحة أو إجراءات المستخدم الأخرى في الموضوعات المركزية وإتاحتها للمعالجة في الوقت الفعلي والتحليل ولوحات المعلومات دون اتصال بالإنترنت.
- تجميع السجلات: باستخدام كافكا ، يمكن جمع السجلات من العديد من الخدمات وإتاحتها في شكل موحد للعديد من المستهلكين.
أفضل 5 تطبيقات لأباتشي كافكا
بعض من أفضل التطبيقات الصناعية التي يدعمها كافكا تشمل:
- أوبر: يحتاج تطبيق الكابينة إلى معالجة هائلة في الوقت الفعلي ويتعامل مع حجم بيانات ضخم. تم تصميم العمليات المهمة مثل التدقيق وحسابات ETA والمطابقة بين السائق والعملاء استنادًا إلى Kafka Streams.
- Netflix: منصة البث عبر الإنترنت عند الطلب Netflix تستخدم مقاييس كافكا لمعالجة الأحداث والمراقبة في الوقت الفعلي.
- LinkedIn: يدير موقع LinkedIn 7 تريليون رسالة يوميًا ، مع 100000 موضوع و 7 ملايين قسم وأكثر من 4000 وسيط. يستخدم Apache Kafka في LinkedIn لتتبع نشاط المستخدم ومراقبته وتتبعه.
- Tinder: يستخدم تطبيق المواعدة الشهير Kafka Streams للعديد من العمليات التي تشمل الإشراف على المحتوى والتوصيات وتحديث المنطقة الزمنية للمستخدم والإشعارات وتنشيط المستخدم ، من بين أمور أخرى.
- Pinterest: من خلال البحث الشهري عن مليارات الدبابيس والأفكار ، استفاد موقع Pinterest من كافكا في العديد من العمليات. يتم استخدام Kafka Streams لفهرسة المحتويات واكتشاف البريد العشوائي والتوصيات ولحساب ميزانيات الإعلانات في الوقت الفعلي.
خاتمة
في هذا البرنامج التعليمي أباتشي كافكا ، ناقشنا المفاهيم الأساسية لأباتشي كافكا والعمارة والعنقود في كافكا وسير عمل كافكا وأدوات كافكا وبعض تطبيقات كافكا. يمتلك Apache Kafka بعضًا من أفضل الميزات مثل المتانة وقابلية التوسع والتسامح مع الأخطاء والموثوقية والقابلية للتوسع والتكرار والإنتاجية العالية التي تجعله متاحًا عبر بعض من أفضل التطبيقات الصناعية ، كما يتضح في هذا البرنامج التعليمي Apache Kafka .
إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وتدريب عملي عملي ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.