من المقطع المقدم، اكتب APIs الرئيسية في كافكا. فصلهما بالفاصلة.
Context:كافكا بيحفظ رسائل قيمة رئيسية بتجي من عمليات كتير بشكل تعسفي بتتسمى منتجين. ممكن تقسيم البيانات إلى "قسامات" مختلفة ضمن "مواضيع" مختلفة. داخل القسم ، الرسائل مرتبة بشكل صارم من خلال إزاحاتها (موقع الرسالة داخل القسم) ، ومفهومة وتخزينها مع ختم زمني. بتقدر العمليات التانية اللي بتتسمى "المستهلكين" تقرأ الرسائل من الأقسام. لمعالجة التدفق ، يقدم كافكا واجهة برمجة تطبيقات Streams التي تسمح بكتابة تطبيقات جافا التي تستهلك البيانات من كافكا وتكتب النتائج مرة أخرى إلى كافكا. يعمل Apache Kafka أيضا مع أنظمة معالجة التدفقات الخارجية مثل Apache Apex و Apache Beam و Apache Flink و Apache Spark و Apache Storm و Apache NiFi.  كافكا بيشتغل على مجموعة من خادم واحد أو أكثر (يسمى وسطاء) ، وتوزع أقسام جميع المواضيع عبر عقدة المجموعة. بالإضافة، بتتكرر الأقسام على وسطاء كتير. بتسمح لهذه الهندسة المعمارية بتقديم تيارات ضخمة من الرسائل بطريقة تحمل الخطأ وقد سمحت لها باستبدال بعض أنظمة الرسائل التقليدية مثل خدمة رسائل جافا (JMS) ، بروتوكول الترتيب المتقدم للرسائل (AMQP) ، إلخ. منذ إصدار 0.11.0.0 ، تقدم كافكا كتابات معاملاتية ، والتي توفر معالجة تدفق مرة واحدة بالضبط باستخدام واجهة برمجة تطبيقات التدفقات.  كافكا بيدعم نوعين من المواضيع: منتظمة ومضغوطة. المواضيع العادية ممكن تتكون مع وقت الاحتفاظ أو مساحة مقيدة. إذا كان هناك سجلات أقدم من وقت الاحتفاظ المحدد أو إذا تم تجاوز حدود المساحة للقسم ، يسمح لكافكا بحذف البيانات القديمة لتوفير مساحة تخزين. حسب الافتراض، المواضيع بتتكون مع وقت الاحتفاظ بسبعة أيام، لكن ممكن بردو تخزين البيانات لأجل غير مسمى. بالنسبة للمواضيع المضغوطة، السجلات مش بتنتهي بناءً على حدود الزمان أو الفضاء. بدل كده، كافكا بيعامل الرسائل اللاحقة على انها تحديثات لرسالة قديمة بنفس المفتاح ويضمن انه مش هيحذف أبدًا آخر رسالة لكل مفتاح. المستخدمين ممكن يحذفوا الرسائل بالكامل عن طريق كتابة ما يسمى رسالة قبر مع قيمة صفرية لمفتاح معين.  في خمس APIs رئيسيين في كافكا:  API المنتج <unk> بيسمح للتطبيق بنشر تيارات السجلات. API المستهلك <unk> بيسمح للتطبيق بالتسجيل في مواضيع ومعالجة تدفقات السجلات. API Connector <unk> بتنفذ واجهات برمجة تطبيقات المنتجين والمستهلكين القابلة لإعادة الاستخدام واللي ممكن تربط الموضوعات بالتطبيقات الموجودة. بي آي آي التدفقات <unk> بي آي آي ده بيحول تدفقات المدخلات لإنتاج وتنتج النتيجة. ادمين ايف آي آي <unk> بيستخدم عشان يدير مواضيع كافكا، والوسطاء، وأشياء كافكا التانية. يتم فصل واجهات برمجة تطبيقات المستهلك والمنتج عن الوظائف الأساسية لكافكا من خلال بروتوكول الرسائل الأساسي. ده بيسمح لكتابة طبقات واجهة برمجة برمجيات متوافقة في أي لغة برمجة فعالة زي واجهة برمجة برمجيات جافا المجمعة مع كافكا. مشروع أباتشي كافكا بيحافظ على قائمة من واجهات برمجة تطبيقات الطرف الثالث.
بروتوكول المنتج، بروتوكول المستهلك، بروتوكول الموصل، بروتوكول التدفقات، بروتوكول الإدارة