منصوبے کے بارے میں

Sarama ایک MIT-لائسنس یافتہ Go کلائنٹ لائبریری ہے Apache Kafka کے لیے، جسے IBM برقرار رکھتا ہے۔ یہ Go ایپلیکیشنز کے لیے Kafka پروٹوکول کا ایک جامع نفاذ فراہم کرتی ہے۔ ## صلاحیتیں **پروڈیوسرز** — قابل ترتیب پارٹیشننگ حکمت عملیوں (بے ترتیب، راؤنڈ-روبن، اسٹکی، کلید پر مبنی) کے ساتھ Kafka ٹاپکس پر ریکارڈ بھیجیں۔ ہم وقت ساز اور غیر ہم وقت ساز بھیجنے کے طریقوں، میسج بیچنگ، اور کمپریشن (gzip، snappy، lz4، zstd) کو سپورٹ کرتا ہے۔ **کنزیومرز** — ConsumerGroups یا براہ راست ٹاپک/پارٹیشن سبسکرپشنز کا استعمال کرتے ہوئے Kafka ٹاپکس سے پڑھیں۔ دستی اور خودکار آفسیٹ مینجمنٹ، اعلیٰ سطحی گروپ ری بیلنسنگ، اور حسب ضرورت پارٹیشن تفویض کی حکمت عملیوں کو سپورٹ کرتا ہے۔ **ٹرانزیکشنل کلائنٹس** — بالکل-ایک بار سیمنٹکس کے لیے APIs فراہم کرتا ہے، بشمول ٹرانزیکشن شروع کرنا، مکمل کرنا، اور منسوخ کرنے کے آپریشنز۔ **بروکر مینجمنٹ** — Kafka بروکر دریافت، میٹا ڈیٹا مینجمنٹ، اور خودکار لیڈر دوبارہ تفویض کو ہینڈل کرتا ہے۔ ## اضافی وسائل - `mocks` ذیلی پیکج میں موک نفاذات یونٹ ٹیسٹنگ میں سہولت فراہم کرتے ہیں۔ - `examples` ڈائریکٹری میں مثالی ایپلیکیشنز عام استعمال کے نمونوں کو ظاہر کرتی ہیں۔ - `tools` ڈائریکٹری میں کمانڈ-لائن ٹولز ٹیسٹنگ، تشخیص، اور انسٹرومینٹیشن کو سپورٹ کرتے ہیں۔ ## مطابقت Sarama Kafka اور Go کے دو تازہ ترین مستحکم ریلیز کو سپورٹ کرتی ہے، پرانے ورژنز کے لیے دو ماہ کی مہلت کے ساتھ۔ یہ پروجیکٹ سیمنٹک ورژننگ کی پیروی کرتا ہے اور API استحکام کی ضمانتیں فراہم کرتا ہے۔ مکمل API دستاویزات اور مثالیں pkg.go.dev پر دستیاب ہیں۔