عن المشروع
go-kafka هو وحدة Go منشورة على github.com/faustbrian/go-kafka بموجب رخصة MIT. يوفر كتل بناء محدودة وصريحة لمنتج وكاتب وإعادة تشغيل وفحص ووحدات معاملة عبر Apache Kafka لخدمات Go، وهو مُنفَّذ كغلاف حول franz-go. الهدف التصميمي هو تجنب إخفاء نتائج التوصيل أو ملكية دورة الحياة أو سياسة المواضيع أو إعدادات الأمان من التطبيق المُستدعي.
يوضح الدليل نطاق الحزمة وحدودها. تزود المكتبة كتل بناء تعتمد ضمان at-least-once. لا تجعل عمليات كتابة قاعدة البيانات منشور Kafka ذرياً، ولا تجعل آثار المستهلك تماماً مرة واحدة، ولا تملك تكوين المواضيع أو الوكيل. تبقى التطبيقات مسؤولة عن مصالحة النتائج الغامضة للنشر والإيداع، والتي تحافظ المكتبة على قابليتها للتمييز.
التثبيت يتم بجلب الوحدة: go get github.com/faustbrian/go-kafka. في البداية السريعة، يتم التحقق من ProducerConfig أثناء التمهيد دون تخصيص عميل أو الاتصال بالوكلاء. يحدد العينة قائمة وكلاء ومعرف عميل وقائمة مواضيع مسموحة، يستدعي Validate ثم يبني منتجاً بـ NewProducer ويؤجل Close. النشر يأخذ سياقاً ورسالة تحمل topic وkey وvalue bytes. يشير الدليل إلى أن الوصول للمواضيع مقيد بقوائم السماح المنسوخة في المنشئ، لذا يمكن للمنتجات معالجة المواضيع الموافقة عليها مسبقاً فقط.
يذكر قسم الضمانات سلوكيات محددة: تحتفظ المنتجين بـ idempotence الخاص بـ franz-go وتتطلب تأكيداً من جميع النسخ المتزامنة وتحدد عدد إعادة المحاولة والتخزين المؤقت وقبول وتوصيل الرسائل. يكشف المستهلكون إيداع صريح وإعادة محاولة وطريق الرسائل الميتة وإعادة التوازن وإيقاف العمل. يُعتبر TLS 1.2 أو أحدث هو الإعداد الافتراضي، بينما تُوصف المصادقة وتوافق الوكيل بأنهما قراران نشر صريحان. توجد وحدات اختيارية لتكامل الخدمات وOpenTelemetry وAmazon MSK IAM، وكلها تملك دورة حياة يديرها caller وليس المكتبة.
تنظيم التوثيق في دليل docs مع فهرس وجدول توافق وسجل قرارات المواصفات ومستند ضمانات التوصيل ودليل عمليات ومرجع مفصل يغطي عقود المنتج والمستهلك وإعادة التشغيل والفحص ودورة الحياة كاملة. يشير الدليل أيضاً إلى فهرس نظام Golib الإصداري وعائلة التكامل ونقل البيانات لمقارنة هذه الحزمة مع المكتبات المرافقة والمحولات الاختيارية.
للتطوير والإصدار، يطلب الدليل تشغيل golib check ضد دليل الوحدة المتأثرة وmake check للتغييرات عبر المستودع. يُتوقع أن تمر تغييرات الخدمات الخلفية والمدارة عبر بوابات التكامل والتشغيل البيني المناسبة. تُعرض شارات continuous integration وCodeQL ومرجع Go وشارة الإصدار وإصدار Go في أعلى الدليل، مع مؤشر الإصدار 1.26.6.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.