Apache Kafka – الأساسيات

Apache Kafka

قبل التعمق في كافكا، يجب عليك أن تكون على دراية بالمصطلحات الرئيسية مثل الموضوعات والوسطاء والمنتجين والمستهلكين. يوضح الرسم البياني التالي المصطلحات الرئيسية ويصف الجدول مكونات الرسم البياني بالتفصيل.

Apache Kafka

في الرسم البياني أعلاه، يتم تكوين الموضوع إلى ثلاثة أقسام. يحتوي القسم 1 على عاملي إزاحة 0 و1. يحتوي القسم 2 على أربعة عوامل إزاحة 0 و1 و2 و3. يحتوي القسم 3 على عامل إزاحة واحد 0. معرف النسخة المتماثلة هو نفس معرف الخادم الذي يستضيفها.

لنفترض أنه إذا تم تعيين عامل النسخ للموضوع على 3، فسيقوم كافكا بإنشاء 3 نسخ متماثلة متطابقة لكل قسم ووضعها في المجموعة لإتاحتها لجميع عملياتها. لموازنة التحميل في المجموعة، يقوم كل وسيط بتخزين واحد أو أكثر من تلك الأقسام. يمكن للعديد من المنتجين والمستهلكين نشر الرسائل واسترجاعها في نفس الوقت.

المواضيع Topics

يُطلق على مجموعة الرسائل التي تنتمي إلى فئة معينة اسم الموضوع. يتم تخزين البيانات في المواضيع.
يتم تقسيم المواضيع إلى أقسام. لكل موضوع، يحتفظ كافكا بحد أدنى من قسم واحد. يحتوي كل قسم من هذا القبيل على رسائل بتسلسل مرتب غير قابل للتغيير. يتم تنفيذ القسم كمجموعة من ملفات المقاطع ذات الأحجام المتساوية.

التقسيم Partition

قد تحتوي المواضيع على العديد من الأقسام، لذا يمكنها التعامل مع كمية عشوائية من البيانات.

تعويض التقسيم Partition offset

تحتوي كل رسالة مقسمة على معرف تسلسل فريد يسمى بالإزاحة.

النسخ المماثلة من التقسيم Replicas of partition

النسخ المتماثلة ليست سوى نسخ احتياطية لقسم ما. لا يتم قراءة النسخ المتماثلة أو كتابة البيانات مطلقًا. يتم استخدامها لمنع فقدان البيانات.

الوسطاء Brokers

الوسطاء هم نظام بسيط مسؤول عن الحفاظ على البيانات المنشورة. قد يكون لدى كل وسيط أقسام صفرية أو أكثر لكل موضوع. لنفترض أنه إذا كان هناك N أقسام في الموضوع وعدد N من الوسطاء، فسيكون لكل وسيط قسم واحد.

افترض أنه إذا كان هناك أقسام N في موضوع ما وأكثر من N وسطاء (n + m)، فإن وسيط N الأول سيكون له قسم واحد ولن يكون لدى وسيط M التالي أي قسم لهذا الموضوع المحدد.

افترض أنه إذا كان هناك أقسام N في موضوع ما وأقل من N Brokers (n-m)، فسيكون لكل وسيط قسم واحد أو أكثر مشترك فيما بينهم. لا ينصح بهذا السيناريو بسبب عدم المساواة في توزيع الأحمال بين الوسيط.

مجموعة كافكا Kafka Cluster

يُطلق على وجود أكثر من وسيط في كافكا اسم مجموعة كافكا. يمكن توسيع مجموعة كافكا دون توقف. تُستخدم هذه المجموعات لإدارة استمرارية وتكرار بيانات الرسالة.

المنتجين Producers

المنتجون هم ناشرو الرسائل لواحد أو أكثر من موضوعات كافكا. يرسل المنتجون البيانات إلى وسطاء كافكا. في كل مرة ينشر المنتج رسالة إلى وسيط، يقوم الوسيط ببساطة بإلحاق الرسالة بملف المقطع الأخير. في الواقع، سيتم إلحاق الرسالة إلى قسم. يمكن للمنتج أيضًا إرسال رسائل إلى القسم الذي يختاره.

المستهلكين Consumers

يقرأ المستهلكون البيانات من الوسطاء. يشترك المستهلكون في موضوع واحد أو أكثر ويستهلكون الرسائل المنشورة عن طريق سحب البيانات من الوسطاء.

القائد Leader

القائد هو العقدة المسؤولة عن جميع عمليات القراءة والكتابة للقسم المحدد. يحتوي كل قسم على خادم واحد يعمل كقائد.

التابع Follower

العقدة التي تتبع تعليمات القائد تسمى بالتابعة. إذا فشل القائد، فسيصبح أحد المتابعين تلقائيًا هو القائد الجديد. يتصرف المتابع كمستهلك عادي، ويسحب الرسائل ويقوم بتحديث مخزن البيانات الخاص به.

Related posts

Apache Kafka نظرة عامة

تحليل البيانات الضخمة – متخصص علوم البيانات

Cassandra – نموذج البيانات