عن المشروع
Sarama هي مكتبة عميل Go مرخصة بموجب MIT لـ Apache Kafka، تتم صيانتها بواسطة IBM. وهي توفر تنفيذًا شاملاً لبروتوكول Kafka لتطبيقات Go.
## القدرات
**المنتجون** — إرسال السجلات إلى مواضيع Kafka باستراتيجيات تقسيم قابلة للتكوين (عشوائية، round-robin، ثابتة، قائمة على المفتاح). تدعم أوضاع الإرسال المتزامن وغير المتزامن، وتجميع الرسائل، والضغط (gzip، snappy، lz4، zstd).
**المستهلكون** — القراءة من مواضيع Kafka باستخدام ConsumerGroups أو الاشتراكات المباشرة بالموضوع/القسم. تدعم إدارة الإزاحة اليدوية والتلقائية، وإعادة توازن المجموعات عالية المستوى، واستراتيجيات تعيين الأقسام المخصصة.
**عملاء المعاملات** — توفر واجهات برمجة تطبيقات لدلالات exactly-once، بما في ذلك بدء المعاملة وتأكيدها وإلغائها.
**إدارة الوسطاء** — تتعامل مع اكتشاف وسطاء Kafka، وإدارة البيانات الوصفية، وإعادة تعيين القائد تلقائيًا.
## موارد إضافية
- تسهّل التطبيقات المحاكية في الحزمة الفرعية `mocks` اختبار الوحدات.
- توضح التطبيقات النموذجية في دليل `examples` أنماط الاستخدام الشائعة.
- تدعم أدوات سطر الأوامر في دليل `tools` الاختبار والتشخيص والقياس.
## التوافق
تدعم Sarama أحدث إصدارين مستقرين من Kafka وGo، مع فترة سماح مدتها شهران للإصدارات الأقدم. يتبع المشروع الإصدار الدلالي ويوفر ضمانات استقرار واجهة برمجة التطبيقات.
تتوفر وثائق واجهة برمجة التطبيقات الكاملة والأمثلة على pkg.go.dev.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.