منصوبے کے بارے میں
go-kafka ایک Go ماڈیول ہے جو github.com/faustbrian/go-kafka پر MIT لائسنس کے تحت شائع کیا گیا ہے۔ یہ Go سروسز کے لیے محدود، صریح Apache Kafka producer، consumer، replay، inspection اور transactional building blocks فراہم کرتا ہے، اور یہ franz-go کے ارد گرد ایک wrapper کے طور پر امplemnt کیا گیا ہے۔ بیان کردہ ڈیزائن intention یہ ہے کہ کال کرنے والی ایپلی کیشن سے delivery outcomes، lifecycle ownership، topic policy یا security configuration کو چھپا نہ جائے۔
README scope اور limits کے بارے میں صریح ہے۔ پکیج at-least-once building blocks فراہم کرتی ہے۔ یہ database writes اور Kafka publication کو atomic نہیں بناتی، consumer side effects کو exactly once نہیں بناتی، اور topic یا broker configuration کا مالک نہیں ہوتی۔ تطبيقات ambiguous publish اور commit outcomes کے مصالحة کے لیے ذمہ دار رہتی ہیں، جو لائبرری ان کو تمیز دہی کرتی ہے۔
ایک ماڈیول fetch کے ذریعے انسٹالیشن ہوتی ہے، go get github.com/faustbrian/go-kafka۔ دستاویز شدہ quick start میں، ProducerConfig کو bootstrap کے دوران validate کیا جاتا ہے، بغير کسی client کو allocate किए یا brokers سے dial kiye۔ نمونہ میں broker list، client identifier اور allowed topic list سیٹ کی جاتی ہے، Validate کال کی جاتی ہے، پھر NewProducer کے ساتھ producer بنایا جاتا ہے اور Close کو defer کر دیا جاتا ہے۔ פרס کرنے میں context اور ایک message لی جاتی ہے جو topic، key اور value bytes لے جاتی ہے۔ README یہ بتاتی ہے کہ topic 접근 constructor-copied allowlists کے ذریعے محدود ہوتی ہے، لہٰذا producers صرف pre-approved topics پر بلکتے ہیں۔
guarantees section میں کئی ملموسرفتوں کی فہرست دی جاتی ہے۔ Producers franz-go ki idempotence retain کرتے ہیں، تمام in-sync replicas سے acknowledgement مانگتے ہیں، اور retries، buffering، admission اور delivery ko bound کرتے ہیں۔ Consumers explicit acknowledgement، retry، dead-letter، rebalance اور shutdown behavior expose کرتے ہیں۔ TLS 1.2 یا بعد वाला default ہے، جبکہ authentication اور broker compatibility explicit deployment decisions کے طور پر décrit کی جاتی ہے۔ Service integration، OpenTelemetry اور Amazon MSK IAM ke liye optional modules فہرست کیے جاتے ہیں، ہر ایک caller-owned lifecycle کے ساتھ، لائبرری द्वारा manage ना किए गए lifecycle के बजाय۔
Documentation docs directory میں organize کی جاتی ہے، جس میں index، compatibility matrix، specification decision register، delivery guarantees document، operations guide اور complete producer، consumer، replay، inspection اور lifecycle contracts ki detailed reference شامل ہے۔ README additionally versioned Golib ecosystem index اور uski integration aur data movement family ko point karti hai jis ke zariye is package ki tulanah companion libraries aur optional adapters ke saath ki jaati hai۔
Development aur release ke liye README mein golib check ko affected module directory par chalane ki sikhayat di gayi hai, aur repository-wide changes aur releases ke liye make check chalane ki bat ki gayi hai. Backend aur managed-service changes ko applicable integration aur interoperability gates pass karne ki ummeed hoti hai. Continuous integration aur CodeQL status badges, Go reference badge, release badge aur Go version README ke top par dikhaye jatay hain, jis mein Go badge version 1.26.6 ko dikhata hai.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.