🚦
Resilience Patterns

Rate Limiter Pattern

@RateLimiter Annotation
💡 @RateLimiter, EK, "TRAFFIC, SIGNAL" jaisa, hai — SIRF, EK, CERTAIN, NUMBER, of, "CARS" (requests) ko, EK, SPECIFIC, TIME, WINDOW, mein, GUZARNE, deta hai, EXCESS, TRAFFIC, ko, WAIT, karna, PADТА, hai, ya, REJECT, ho, jaata hai.

@RateLimiter, ANNOTATION, EK, method, ke, EXECUTION, RATE, ko, LIMIT, karta hai — jaise, "SIRF, 10, calls, PER, second" ALLOWED, HAIN — YE, DOWNSTREAM, services, ko, OVERLOAD, hone, se, BACHATA, hai.

Rate, limiting, DEFENSIVE, hai (SELF-PROTECTION, ke, liye) aur, OFFENSIVE, bhi, ho, sakti, hai (jaise, THIRD-PARTY, API, ki, RATE, LIMITS, RESPECT, karна).

@RateLimiter(name = "externalApi")
public WeatherDto getWeather(String city) {
    return weatherApiClient.getWeather(city);
}

// application.yml:
resilience4j.ratelimiter.instances.externalApi.limit-for-period: 10
resilience4j.ratelimiter.instances.externalApi.limit-refresh-period: 1s
🚦
@RateLimiter, EK, "TRAFFIC, SIGNAL" jaisa, hai — SIRF, EK, CERTAIN, NUMBER, of, "CARS" (requests) ko, EK, SPECIFIC, TIME, WINDOW, mein, GUZARNE, deta hai, EXCESS, TRAFFIC, ko, WAIT, karna, PADТА, hai, ya, REJECT, ho, jaata hai.
1 / 2
⚡ झट से Recap
  • @RateLimiter = method, ke, execution, rate, ko, limit, karta, hai
  • Downstream, services, aur, THIRD-PARTY, APIs, ko, overload, hone, se, bachata, hai
  • Third-party, APIs, ki, rate, limits, respect, karne, ke, liye, ESPECIALLY, important
इस page में (2 subtopics)

Rate, limiter, TIME-BASED, hai (jaise, "10, calls, per, second"). Bulkhead, CONCURRENCY-BASED, hai, (jaise, "5, concurrent, calls, max") — DONO, DIFFERENT, PROBLEMS, solve, karte, hain aur, EK, saath, USE, kiye, ja, sakte, hain.

// Rate limiter — time-based:
resilience4j.ratelimiter.instances.api.limit-for-period: 10
// Bulkhead — concurrency-based:
resilience4j.bulkhead.instances.api.max-concurrent-calls: 5

RequestNotPermitted, exception, throw, hoti, hai, jab, rate, limit, EXCEED, hoti, hai — EK, fallback, method, EK, 429, (Too Many Requests) response, RETURN, kar, sakta hai, client, ko, PROPERLY, inform, karne, ke, liye.