Tutorial 14~15 MinutenMittel
Rate Limiting
Schütze deine API vor Missbrauch und Überlastung.
Was du lernen wirst
- @RateLimit Decorator anwenden
- Dynamische Limits basierend auf Rollen
- DDoS-Prävention
1
Basis Rate Limiting
// 10 Anfragen pro Minute erlaubt
@POST("/api/generate")
@RateLimit(10, "1m")
fn generateContent(prompt: string): string {
return ai.generate(prompt);
}
// 100 Anfragen pro Stunde
@GET("/api/data")
@RateLimit(100, "1h")
fn getData(): Data {
return db.fetch();
}
// Kombiniert mit Auth
@Auth
@RateLimit(1000, "1d")
@GET("/api/premium")
fn premiumEndpoint(): PremiumData {
return fetchPremiumData();
}2
Dynamische Limits
fn getLimitForUser(user: User): number {
return match (user.plan) {
"free" => 100,
"pro" => 1000,
"enterprise" => 10000,
_ => 50,
};
}
@Auth
@RateLimit(getLimitForUser, "1h")
@POST("/api/ai/generate")
fn aiGenerate(prompt: string): AIResponse {
return ai.complete(prompt);
}DDoS-Prävention
Das System erkennt automatisch verdächtige Muster und kann IP-Adressen temporär sperren.
Zusammenfassung
Was du gelernt hast:
- @RateLimit Decorator
- Dynamische Limits
Nächste Schritte:
- Security Scanner