logo

موضوعات كافكا

في القسم السابق، تناولنا مقدمة مختصرة عن Apache Kafka ونظام المراسلة بالإضافة إلى عملية البث. وهنا سنناقش المفاهيم الأساسية ودور كافكا.

المواضيع

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

أقسام

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

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

دعونا نرى مثالا لفهم الموضوع مع أقسامه.

موضوعات كافكا

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

وسطاء

وهنا يأتي دور أباتشي كافكا.

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

موضوعات كافكا

هذا هو شكل الوسيط في الشكل الذي يحتوي على موضوع بعدد n من الأقسام.

على سبيل المثال: الوسطاء والموضوعات

لنفترض أن مجموعة كافكا تتكون من ثلاثة وسطاء، وهم الوسيط 1، والوسيط 2، والوسيط 3.

موضوعات كافكا

يحمل كل وسيط موضوعًا، وهو Topic-x مع ثلاثة أقسام 0،1 و2. تذكر أن جميع الأقسام لا تنتمي إلى وسيط واحد فقط، بل يتم توزيعها دائمًا بين كل وسيط (يعتمد على الكمية). يحتوي الوسيط 1 والوسيط 2 على موضوع آخر يحتوي على قسمين 0 و1. وبالتالي، لا يحتفظ الوسيط 3 بأي بيانات من Topic-y. وخلص أيضًا إلى عدم وجود أي علاقة على الإطلاق بين رقم الوسيط ورقم القسم.