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

Rate Go میں لکھی گئی ایک ریٹ لمیٹنگ لائبریری ہے، جس کا مقصد Go ایپلی کیشنز کو ریکویسٹ ٹریفک کنٹرول کرنے میں مدد دینا ہے۔ اس کے README کے مطابق، یہ کارکردگی پر زور دیتی ہے اور کئی منتخب کرنے کے قابل لمیٹنگ حکمت عملیاں پیش کرتی ہے۔ دستاویزات کے اہم نکات: - انسٹالیشن `go get github.com/Mahu123-Locked/rate` کے ذریعے ہوتی ہے۔ - بنیادی API ریٹ اور برسٹ سائز کے ساتھ لمیٹر بناتا ہے، مثال کے طور پر `rate.NewLimiter(1, 5)` پانچ کے برسٹ کے ساتھ فی سیکنڈ ایک ریکویسٹ کے لیے، اور ریکویسٹس کو `limiter.Allow()` سے چیک کرتا ہے۔ چار حکمت عملیاں بیان کی گئی ہیں: ٹوکن بکٹ (اوسط ریٹ برقرار رکھتے ہوئے برسٹ کی اجازت دیتی ہے)، لیکی بکٹ (برسٹس کو مستقل ریٹ پر ہموار کرتی ہے)، فکسڈ ونڈو (مقررہ وقت کی ونڈو کے اندر ریکویسٹس کو محدود کرتی ہے)، اور سلائیڈنگ ونڈو (بہتر کنٹرول کے لیے اوورلیپ ہونے والی ونڈوز میں ریکویسٹس شمار کرتی ہے)۔ README میں جنرل لمیٹر، ٹوکن بکٹ (`rate.NewTokenBucket`) اور لیکی بکٹ (`rate.NewLeakyBucket`) کے لیے مثال پروگرام شامل ہیں۔ پروجیکٹ MIT لائسنس یافتہ ہے اور فورکس اور پل ریکویسٹس کے ذریعے تعاون قبول کرتا ہے۔ README میں بینچ مارکس، تھریڈ سیفٹی گارنٹیز، تقسیم شدہ/Redis کی مدد سے لمیٹنگ، یا دکھائے گئے کنسٹرکٹر آرگومنٹس کے علاوہ کنفیگریشن آپشنز کی دستاویزات شامل نہیں ہیں۔