عن المشروع

Rate هي مكتبة للحد من المعدل مكتوبة بلغة Go، تهدف إلى مساعدة تطبيقات Go على التحكم في حركة الطلبات. وفقًا لملف README الخاص بها، فهي تركز على الأداء وتوفر عدة استراتيجيات تحديد قابلة للاختيار. النقاط الرئيسية من الوثائق: - يتم التثبيت عبر `go get github.com/Mahu123-Locked/rate`. - تنشئ الواجهة الأساسية محددًا بمعدل وحجم انفجار، مثل `rate.NewLimiter(1, 5)` لطلب واحد في الثانية مع انفجار خمسة، وتفحص الطلبات باستخدام `limiter.Allow()`. - تم وصف أربع استراتيجيات: دلو الرموز (يسمح بالانفجارات مع الحفاظ على متوسط معدل)، ودلو التسريب (ينعم الانفجارات إلى معدل ثابت)، والنافذة الثابتة (يحدد الطلبات ضمن نافذة زمنية ثابتة)، والنافذة المنزلقة (يحسب الطلبات عبر نوافذ متداخلة لتحكم أدق). - يتضمن ملف README برامج مثال للمحدد العام، ودلو الرموز (`rate.NewTokenBucket`)، ودلو التسريب (`rate.NewLeakyBucket`). - المشروع مرخص بموجب MIT ويقبل المساهمات من خلال الشوكات وطلبات السحب. لا يوثق ملف README المعايير المرجعية، أو ضمانات أمان الخيط، أو التحديد الموزع/المدعوم بـ Redis، أو خيارات التكوين بخلاف وسائط المُنشئ المعروضة.