ألق نظرة على الرسم التوضيحي التالي. يُظهر المخطط العنقودي لكافكا.
نصف فيمايلي كل مكون من المكونات الموضحة في الرسم البياني أعلاه.
الوسيط Broker
تتكون مجموعة كافكا عادةً من وسطاء متعددين للحفاظ على توازن التحميل. وسطاء كافكا عديمي الجنسية، لذا يستخدمون ZooKeeper للحفاظ على حالة المجموعة الخاصة بهم. يمكن لمثيل وسيط Kafka واحد التعامل مع مئات الآلاف من عمليات القراءة والكتابة في الثانية ويمكن لكل وسيط التعامل مع تيرابايت من الرسائل دون التأثير على الأداء. يمكن إجراء انتخاب قائد وسيط كافكا بواسطة ZooKeeper.
ZooKeeper
يستخدم ZooKeeper لإدارة وتنسيق وسيط كافكا. تستخدم خدمة ZooKeeper بشكل أساسي لإخطار المنتج والمستهلك بوجود أي وسيط جديد في نظام كافكا أو فشل الوسيط في نظام كافكا. وفقًا للإشعار الذي تلقاه Zookeeper بشأن وجود الوسيط أو فشله، يتخذ المنتج المؤيد والمستهلك القرار ويبدأ في تنسيق مهمته مع وسيط آخر.
المنتجين Producers
يقوم المنتجون بدفع البيانات إلى الوسطاء. عند بدء تشغيل الوسيط الجديد، يقوم جميع المنتجين بالبحث عنه وإرسال رسالة تلقائيًا إلى ذلك الوسيط الجديد. لا ينتظر منتج كافكا إقرارات الوسيط ويرسل الرسائل بأسرع ما يمكن للوسيط التعامل معه.
المستهلكين Consumers
نظرًا لأن وسطاء كافكا عديمي الجنسية، مما يعني أنه يتعين على المستهلك الحفاظ على عدد الرسائل التي تم استهلاكها باستخدام إزاحة القسم. إذا أقر المستهلك بإزاحة رسالة معينة، فهذا يعني أن المستهلك قد استهلك جميع الرسائل السابقة. يصدر المستهلك طلب سحب غير متزامن إلى الوسيط للحصول على مخزن مؤقت للبايتات جاهز للاستهلاك. يمكن للمستهلكين الترجيع أو التخطي إلى أي نقطة في القسم ببساطة عن طريق توفير قيمة الإزاحة. يتم إخطار قيمة إزاحة المستهلك بواسطة ZooKeeper.