Elya Studio

Rate Limiting – איך בונים נכון (לא to hurt customers)
בדוק כמה יעלה הפרויקט שלך במחשבון
מאת
עודכן
קריאה 2 דק'
TL;DR: Rate limiting שלא נעשה נכון = לקוחות טובים חוסמים. עברנו על 3 מודלים – הנה מה שעובד.

Rate limiting שלא נעשה נכון = לקוחות טובים חוסמים. עברנו על 3 מודלים – הנה מה שעובד.

למה בכלל Rate Limiting

Protection: מונע DDoS, brute force attacks.

Fairness: משתמש אחד לא יכול לתפוס resources של כולם.

Cost control: אם יש paid APIs מאחורי, מונע bill shock.

SLA: מבטיח quality of service.

Token Bucket – הקלאסי

מודל: כל user יש ‘דלי’ של tokens. כל בקשה = -1 token. אם 0 = חסום.

Refill: X tokens לכל דקה.

יתרונות: מאפשר bursts. פשוט להבנה.

חסרונות: state management לכל user. מסובך בdistributed system.

Sliding Window – יותר מדויק

מודל: נספר בקשות בחלון זמן זז (5 minutes back from now).

יתרונות: מדויק יותר. פחות false positives.

חסרונות: יותר memory. יותר compute.

Fixed Window – הפשוט

מודל: 100 בקשות ב-hour מסוים. נמנה יורד ל-0 בכל hour.

יתרונות: פשוט. Cheap.

חסרונות: burst בסוף חלון + התחלה של חלון = 200 בקשות ב-2 דקות.

המימוש שלנו – Redis + Lua

Redis: מהיר. Distributed. Persistent.

Lua script: מבצע check + increment atomic – אין race conditions.

Example: SETNX + EXPIRE for fixed window. Sorted sets for sliding window.

איך להגדיר Limits

Anonymous users: נמוך מאוד (10/hour).

Free tier: 100/hour, 1000/day.

Paid tier: 10K/hour. Custom for enterprise.

API keys יש להם limits משלהם.

Error Responses

HTTP 429 Too Many Requests.

Response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (unix timestamp).

Body: JSON עם message ברור.

Gradient Rate Limiting

במקום 429 חד, האטו את התגובות בהדרגה. 100/hour = ok. 200/hour = 100ms delay per request. 500/hour = 500ms delay. 1000/hour = 429.

יותר forgiving. Bots ירדו לבד. Real users נשארים.

Whitelist

Internal services, monitoring, staff – במקום rate limit אחר.

IP-based או API-key-based whitelist.

מבוסס על פרויקטים אמיתיים

המדריך הזה מבוסס על עבודה עם:

קריאה נוספת

אם המדריך הזה עזר לכם, אולי תרצו לקרוא גם על פיתוח SaaS מותאם – המדריך המקיף שלנו לתחום.

Elya Studio

רוצים לדבר על הפרויקט שלכם?

שיחת ייעוץ חינם, ללא התחייבות - הרעיון שלכם + הניסיון שלנו

רוצים לדבר על הפרויקט שלכם?

אנחנו מתמחים בפיתוח SaaS, פתרונות AI, עיצוב UX/UI ובניית אתרים. ספרו לנו מה אתם צריכים.

דברו איתנו ←

מחשבון פיתוח חכם

1. מה בונים?
אתר תדמית
חנות איקומרס
מערכת SaaS
אפליקציה
2. טכנולוגיה מועדפת
Vibe Coding (AI)
Custom Code
WordPress
Shopify
Wix / Webflow
React Native
3. שדרוגים
כתיבת תוכן
אוטומציות AI
עיצוב לוגו ומיתוג
0 ₪
המחיר כולל אפיון, עיצוב ופיתוח