Laravel Advanced & Architecture
5-8 Years (Senior)
Medium
Production Scenario
How do you architect Rate Limiting tiers (e.g. Free, Pro, Enterprise) dynamically in Laravel Routing?
Real-World Scenario / Incident Description
An enterprise developer API needs tiered rate limits: Free (60 req/min), Pro (1,000 req/min), Enterprise (10,000 req/min) based on the user's active subscription plan.
679 views
•
Updated 1 month ago
Dynamic Rate Limiter in AppServiceProvider
RateLimiter::for('api', function (Request $request) {
$user = $request->user();
if (! $user) {
return Limit::perMinute(30)->by($request->ip());
}
return match ($user->subscription_tier) {
'enterprise' => Limit::perMinute(10000)->by($user->id),
'pro' => Limit::perMinute(1000)->by($user->id),
default => Limit::perMinute(60)->by($user->id),
};
});
Related Concepts:
#Rate Limiting
#Routing
#Security
#SaaS
More Laravel Advanced & Architecture Interview Questions
How does Laravel Octane handle state persistence across requests, and how do you prevent catastrophic memory leaks and data bleeding in singletons?
Read →
How do you prevent Deadlocks when processing concurrent financial transactions or inventory deductions across multiple queue workers in Laravel?
Read →
How does the Laravel Service Container resolve dependencies using Reflection, and what are the performance trade-offs in large applications?
Read →
How do you execute Zero-Downtime database migrations on tables with 50+ million rows without locking writes in production Laravel?
Read →
How do you architect Multi-Tenant database isolation in Laravel (Single DB vs Multi DB vs Schema Separation)?
Read →