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