DField SolutionsMérnöki stúdió · Budapest
Loading · Töltődik
Skip to content

Rate limiting (token bucket / leaky bucket)

Related service Custom software engineering

DEFINITION

Caps how many calls a client / key / IP can make in a time window. Two main algorithms: token bucket refills at a fixed rate and each request spends a token · allows bursts up to capacity. Leaky bucket releases at a fixed rate and drops or queues overflow · smoother, less burst-friendly. In production you implement it on Redis (`INCR` + `EXPIRE` or Lua) or at the edge (Cloudflare, Vercel). Always include a `Retry-After` header on a 429.

RELATED TERMS06
  • Firmware

    Low-level software that controls a hardware device · microcontroller, router, IoT sensor. Typical languages are C, Rust, MicroPython; OTA-updateability and signing are the critical parts.

  • IoT OTA update

    Over-The-Air firmware update for IoT devices · signed image, staged rollout, rollback switch, telemetry. Lets you update a deployed fleet without physical access.

  • HSM (Hardware Security Module)

    Specialised key-storage hardware · the private key never leaves the HSM, every cryptographic operation runs inside it. Foundation of banking and fintech integrations.

  • OPC-UA

    Industrial communication protocol (IEC 62541) between PLCs, SCADA systems, and higher-level IT. The 2026 standard for manufacturing IT/OT integration.

  • Modbus

    One of the oldest industrial protocols (since 1979) · PLCs, sensors, power meters communicate over it. TCP and RTU (serial) variants exist.

  • CRDT (Conflict-free Replicated Data Type)

    Conflict-free Replicated Data Type. A data structure (counter, set, map, ordered text) that mathematically guarantees that if many peers edit it offline and sync in any order, the result is the same everywhere with no manual conflict resolution. Classic demo: the synced multiplayer cursor, where colleagues type in the same Figma or Notion document at the same time, characters do not overwrite each other, and cursors move live. Problem solved: last-write-wins and manual merge are weak primitives for collaborative editing, offline-first apps, and replicas running at the edge. Two schools: state-based (CvRDT, states can be merged) and operation-based (CmRDT, operations are commutative). In production: Yjs, Automerge, the Loro Rust library, plus Liveblocks and PartyKit as a service. The price: bigger payloads (operation logs) and you need garbage collection.

MENTIONED IN THE BLOG08