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