इस प्रोजेक्ट के बारे में

Sarama, IBM द्वारा अनुरक्षित Apache Kafka के लिए MIT-लाइसेंस प्राप्त Go क्लाइंट लाइब्रेरी है। यह Go अनुप्रयोगों के लिए Kafka प्रोटोकॉल का व्यापक कार्यान्वयन प्रदान करती है। ## क्षमताएँ **प्रोड्यूसर** — कॉन्फ़िगर करने योग्य पार्टिशनिंग रणनीतियों (रैंडम, राउंड-रॉबिन, स्टिकी, की-आधारित) के साथ Kafka टॉपिक्स पर रिकॉर्ड भेजें। सिंक्रोनस और असिंक्रोनस भेजने के मोड, मैसेज बैचिंग, और कम्प्रेशन (gzip, snappy, lz4, zstd) का समर्थन करता है। **कंज्यूमर** — ConsumerGroups या सीधे टॉपिक/पार्टिशन सब्सक्रिप्शन का उपयोग करके Kafka टॉपिक्स से पढ़ें। मैनुअल और स्वचालित ऑफ़सेट प्रबंधन, उच्च-स्तरीय ग्रुप रीबैलेंसिंग, और कस्टम पार्टिशन असाइनमेंट रणनीतियों का समर्थन करता है। **ट्रांजैक्शनल क्लाइंट** — exactly-once सेमांटिक्स के लिए API प्रदान करता है, जिसमें ट्रांजैक्शन आरंभ, कमिट, और एबॉर्ट ऑपरेशन शामिल हैं। **ब्रोकर प्रबंधन** — Kafka ब्रोकर डिस्कवरी, मेटाडेटा प्रबंधन, और स्वचालित लीडर पुनःअसाइनमेंट को संभालता है। ## अतिरिक्त संसाधन - `mocks` सबपैकेज में मॉक कार्यान्वयन यूनिट परीक्षण की सुविधा देते हैं। - `examples` डायरेक्टरी में उदाहरण अनुप्रयोग सामान्य उपयोग पैटर्न प्रदर्शित करते हैं। - `tools` डायरेक्टरी में कमांड-लाइन टूल परीक्षण, डायग्नोस्टिक्स, और इंस्ट्रुमेंटेशन का समर्थन करते हैं। ## संगतता Sarama, Kafka और Go के दो नवीनतम स्थिर रिलीज़ का समर्थन करता है, पुराने संस्करणों के लिए दो महीने की छूट अवधि के साथ। परियोजना सेमांटिक वर्ज़निंग का पालन करती है और API स्थिरता की गारंटी प्रदान करती है। पूर्ण API दस्तावेज़ीकरण और उदाहरण pkg.go.dev पर उपलब्ध हैं।