Ödeme API'si için rate limiter
Basamak 8 İleri 10 dk
- Soru
- Sesli düşün
- Kodla
- Toparla
Ödeme API'mizi her müşteri rahatça kullanabilmeli ama kimse sistemi boğmamalı. Müşteri başına token bucket ile çalışan bir rate limiter yaz: istek gelince izin ver ya da reddet.
Kurallar
- Her müşterinin kendi kovası var
- Kova kapasitesi ve saniyede eklenen token sayısı kurucudan gelir
- Şu anki zaman parametre olarak gelir: long nowMillis
- Metodun içinde System.currentTimeMillis kullanma
Acele yok. Bir dakika kendin düşün: sen olsan ilk neyi sorardın? Aklına bir şey gelmezse de sorun değil, birlikte bakacağız.