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