Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Know-how
Nástroje O nás Spolupráce Kariéra
Pojďme to probrat

Rate Limiting implementace

25. 09. 2024 1 min čtení intermediate

Rate limiting chrání API před přetížením, brute force útoky a zneužitím. Bez něj je každý endpoint zranitelný.

Algoritmy

  • Fixed Window: Jednoduché, ale burst na hranici okna
  • Sliding Window: Přesnější, vyšší paměťové nároky
  • Token Bucket: Flexibilní, povoluje burst
  • Leaky Bucket: Konstantní rychlost

Redis sliding window

import redis, time r = redis.Redis() def rate_limit(key, limit=100, window=60): now = time.time() pipe = r.pipeline() pipe.zremrangebyscore(key, 0, now - window) pipe.zadd(key, {str(now): now}) pipe.zcard(key) pipe.expire(key, window) _, _, count, _ = pipe.execute() return count <= limit

Express.js

const rateLimit = require(‘express-rate-limit’); app.use(‘/api/’, rateLimit({ windowMs: 60 * 1000, max: 100, standardHeaders: true, }));

Klíčový takeaway

Rate limiting na každém API. Redis pro distribuované prostředí, sliding window pro přesnost.

securityrate limitingapiredis
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.