أباتشي كافكا: العمارة والمفاهيم والميزات والتطبيقات
نشرت: 2021-03-09تم إطلاق Kafka في عام 2011 ، كل ذلك بفضل LinkedIn. منذ ذلك الحين ، شهدت نمواً مذهلاً لدرجة أن معظم الشركات المدرجة في Fortune 500 تستخدمها الآن. إنه منتج قابل للتطوير ودائم وعالي الإنتاجية يمكنه التعامل مع كميات كبيرة من البيانات المتدفقة. لكن هل هذا هو السبب الوحيد وراء شعبيتها الهائلة؟ حسننا، لا. لم نبدأ حتى في ميزاته والجودة التي ينتجها والسهولة التي يوفرها للمستخدمين.
سوف نتعمق في ذلك لاحقًا. دعونا نفهم أولاً ما هو كافكا وأين يتم استخدامه.
جدول المحتويات
ما هو أباتشي كافكا؟
Apache Kafka هو برنامج مفتوح المصدر لمعالجة الدفق يهدف إلى تقديم إنتاجية عالية وزمن انتقال منخفض أثناء إدارة البيانات في الوقت الفعلي. يوفر Kafka المكتوب بلغة Java و Scala المتانة عبر الخدمات الصغيرة في الذاكرة وله دور أساسي في الحفاظ على أحداث التوريد لخدمات تدفق الأحداث المعقدة ، والمعروفة باسم CEP أو أنظمة الأتمتة.
إنه نظام موزع متعدد الاستخدامات ومقاوم للأخطاء بشكل استثنائي ، والذي يمكّن شركات مثل Uber من إدارة مطابقة الركاب والسائقين. كما أنه يوفر بيانات في الوقت الفعلي وصيانة استباقية لمنتجات المنزل الذكي لشركة British Gas بصرف النظر عن مساعدة LinkedIn في تتبع خدمات متعددة في الوقت الفعلي.
غالبًا ما يتم توظيفه في بنية البيانات المتدفقة في الوقت الفعلي لتقديم تحليلات في الوقت الفعلي ، يعد كافكا نظام مراسلة سريع وقوي وقابل للتطوير وقابل للنشر. يمكن استخدام Apache Kafka كبديل لـ MOM التقليدية بسبب توافقها الممتاز وبنيتها المرنة التي تسمح لها بتتبع مكالمات الخدمة أو بيانات مستشعر إنترنت الأشياء.
يعمل كافكا ببراعة مع Apache Flume / Flafka و Apache Spark Streaming و Apache Storm و HBase و Apache Flink و Apache Spark لاستيعاب البيانات المتدفقة والبحث عنها وتحليلها ومعالجتها في الوقت الفعلي. يقوم وسطاء كافكا أيضًا بتسهيل تقارير المتابعة ذات الكمون المنخفض في Hadoop أو Spark. لدى كافكا أيضًا مشروعًا فرعيًا يسمى كافكا ستريم يعمل كأداة فعالة للتحليل في الوقت الفعلي.

عمارة كافكا ومكوناتها
يستخدم كافكا لتدفق البيانات في الوقت الحقيقي لأنظمة متعددة المستلمين. يعمل كافكا كطبقة مركزية لفصل خطوط أنابيب البيانات في الوقت الفعلي. لا يجد فائدة كبيرة في الحسابات المباشرة. إنه أكثر توافقًا مع أنظمة التغذية السريعة ، في الوقت الفعلي أو البيانات التشغيلية ، لتدفق كمية كبيرة من البيانات لتحليل بيانات الدُفعات.
تعد أطر Storm و Flink و Spark و CEP عبارة عن عدد قليل من أنظمة البيانات التي يعمل معها كافكا لإنجاز تحليلات في الوقت الفعلي وإنشاء نسخ احتياطية وعمليات تدقيق وغير ذلك. يمكن أيضًا دمجها مع منصات البيانات الضخمة أو أنظمة قواعد البيانات مثل RDBMS و Cassandra و Spark وما إلى ذلك ، من أجل معالجة علوم البيانات وإعداد التقارير وما إلى ذلك.
يوضح الرسم البياني أدناه نظام كافكا البيئي:
مصدر
فيما يلي المكونات المختلفة لنظام كافكا البيئي كما هو موضح في مخطط عمارة كافكا:
1. وسيط كافكا
يحاكي كافكا مجموعة تتكون من خوادم متعددة ، يُعرف كل منها باسم "الوسيط". أي اتصال بين العملاء والخوادم يلتزم ببروتوكول TCP عالي الأداء. وهي تضم أكثر من وسيط عديم الجنسية للتعامل مع الأحمال الثقيلة. وسيط كافكا واحد قادر على إدارة العديد من عمليات القراءة والكتابة في كل ثانية دون المساومة على الأداء. يستخدمون ZooKeeper للحفاظ على المجموعات وانتخاب قائد الوسيط.
2. كافكا ZooKeeper
كما ذكر أعلاه ، فإن ZooKeeper مسؤول عن إدارة وسطاء كافكا. يتم إحضار أي إضافة جديدة أو فشل وسيط في نظام كافكا البيئي إلى إشعار المنتج أو المستهلك عبر ZooKeeper.
3. منتجي كافكا
هم مسؤولون عن إرسال البيانات إلى الوسطاء. لا يعتمد المنتجون على الوسطاء للإقرار باستلام الرسالة. وبدلاً من ذلك ، فإنهم يحددون إلى أي مدى يمكن للوسيط التعامل مع الرسائل وإرسالها وفقًا لذلك.

4. مستهلكو كافكا
تقع على عاتق مستهلكي كافكا مسؤولية الاحتفاظ بسجل لعدد الرسائل التي يستهلكها تقسيم التقسيم. يشير استلام رسالة إلى أن الرسائل المرسلة قبل استهلاكها. للتأكد من أن الوسيط لديه مخزن مؤقت للبايت جاهز للإرسال إلى المستهلك ، يبدأ المستهلك في طلب سحب غير متزامن. يلعب ZooKeeper دورًا في الحفاظ على قيمة الإزاحة لتخطي رسالة أو إرجاعها.
تتضمن آلية كافكا إرسال الرسائل بين التطبيقات في الأنظمة الموزعة. يستخدم كافكا سجل الالتزام ، والذي عند الاشتراك في نشر البيانات الموجودة في مجموعة متنوعة من تطبيقات البث. يرسل المرسل رسائل إلى كافكا ، بينما يتلقى المتلقي رسائل من الدفق الذي وزعه كافكا.
يتم تجميع الرسائل في مواضيع - مداولات فعالة من قبل كافكا. يمثل موضوع معين البخار المنظم للبيانات بناءً على نوع أو تصنيف معين. يكتب المنتج رسائل للمستهلكين لقراءتها تستند إلى موضوع ما.
يتم إعطاء اسم فريد لكل موضوع. أي رسالة من موضوع معين مرسلة من قبل المرسل يتم استلامها من قبل جميع المستخدمين الذين يقومون بضبط هذا الموضوع. بمجرد النشر ، لا يمكن تحديث البيانات الموجودة في الموضوع أو تعديلها.
ملامح كافكا
- يتكون كافكا من سجل التزام دائم يسمح لك بالاشتراك فيه ، ومن ثم نشر البيانات إلى أنظمة متعددة أو تطبيقات في الوقت الفعلي.
- يمنح التطبيقات القدرة على التحكم في تلك البيانات كما تأتي. تعد Streams API في Apache Kafka مكتبة قوية وخفيفة الوزن تسهل معالجة البيانات المجمعة أثناء التنقل.
- إنه تطبيق Java يسمح لك بتنظيم سير عملك ويقلل بشكل كبير من أي متطلبات للصيانة.
- يعمل كافكا كـ "مخزن للحقيقة" يوزع البيانات على عقد متعددة من خلال تمكين نشر البيانات عبر أنظمة بيانات متعددة.
- سجل التزام كافكا يجعله نظام تخزين موثوقًا به. ينشئ كافكا نسخًا متماثلة / نسخًا احتياطية من القسم الذي يساعد على منع فقدان البيانات (يمكن أن تؤدي التكوينات الصحيحة إلى عدم فقدان البيانات). هذا أيضًا يمنع فشل الخادم ويعزز متانة كافكا.
- تحتوي الموضوعات في كافكا على آلاف الأقسام ، مما يجعلها قادرة على التعامل مع كمية عشوائية من البيانات والتحميل الثقيل.
- يعتمد كافكا على نواة نظام التشغيل لنقل البيانات بوتيرة سريعة. مجموعات المعلومات هذه مشفرة من طرف إلى طرف ، من نظام إلى ملف إلى المستهلك النهائي.
- يؤدي التجميع في كافكا إلى زيادة كفاءة ضغط البيانات وتقليل زمن انتقال الإدخال / الإخراج.
تطبيقات كافكا
الكثير من الشركات التي تتعامل مع كميات كبيرة من البيانات يوميًا تستخدم كافكا.

- يستخدم LinkedIn نظام كافكا لتتبع نشاط المستخدم ومقاييس الأداء. يجمعه Twitter مع Storm لتمكين إطار عمل معالجة التدفق.
- يستخدم Square كافكا لتسهيل حركة جميع أحداث النظام إلى مراكز بيانات مربعة أخرى. يتضمن ذلك السجلات والأحداث المخصصة والمقاييس.
- تشمل الشركات الشهيرة الأخرى التي تستفيد من مزايا كافكا Netflix و Spotify و Uber و Tumblr و CloudFlare و PayPal.
لماذا يجب أن تتعلم أباتشي كافكا؟
يعد كافكا منصة بث أحداث ممتازة يمكنها معالجة البيانات في الوقت الفعلي وتتبعها ومراقبتها بكفاءة. تسمح هندسته المتسامحة مع الأخطاء والقابلة للتطوير بتكامل البيانات بزمن انتقال منخفض مما يؤدي إلى إنتاجية عالية لأحداث البث. يقلل كافكا بشكل كبير من "الوقت إلى القيمة" للبيانات.
إنه يعمل كنظام أساسي ينتج معلومات للمؤسسات عن طريق إزالة "السجلات" حول البيانات. يتيح ذلك لعلماء البيانات والمتخصصين الوصول بسهولة إلى المعلومات في أي وقت.
لهذه الأسباب ، فهي منصة البث الأولى المفضلة للعديد من الشركات الكبرى ، وبالتالي ، فإن المرشحين الحاصلين على مؤهل في Apache Kafka مطلوبون للغاية.
إذا كنت مهتمًا بمعرفة المزيد عن كافكا ، البيانات الضخمة ، فيجب عليك التحقق من دبلومة PG من upGrad في تخصص تطوير البرمجيات في البيانات الضخمة التي تقدم أكثر من 7 دراسات حالة ومشاريع وإرشاد من أعضاء هيئة تدريس وخبراء عالميين. يغطي البرنامج الذي تبلغ مدته 13 شهرًا 14 لغة برمجة ويعلم معالجة البيانات و MapReduce وتخزين البيانات والمعالجة في الوقت الفعلي ومعالجة البيانات الضخمة على السحابة ، من بين مهارات أخرى.
تحقق من دورات هندسة البرمجيات الأخرى لدينا في upGrad.