Search Suggestion (Autocomplete) Low-Level Design: Trie, Redis, and Elasticsearch
Search suggestion (autocomplete) returns candidate completions for a partial query in under 100ms. The system must handle millions of prefix […]
Search suggestion (autocomplete) returns candidate completions for a partial query in under 100ms. The system must handle millions of prefix […]
API key management handles the full lifecycle of programmatic access credentials: creation, scoped authorization, usage tracking, rotation, and revocation. API
An invitation system lets existing users invite new users via unique links or codes, tracking who invited whom and rewarding
A WebSocket server maintains persistent bidirectional connections between clients and servers, enabling real-time push without polling. The challenge is not
Token refresh is the mechanism by which a client exchanges a long-lived refresh token for a new short-lived access token,
Connection pooling maintains a set of pre-established database connections that are reused across requests, rather than opening and closing a
Multi-region replication keeps data available and performant for users worldwide by maintaining synchronized copies of data in multiple geographic regions.
A health check endpoint lets load balancers, orchestrators, and monitoring systems determine whether a service instance is ready to receive
A Bloom filter is a space-efficient probabilistic data structure that answers the question “is this element in the set?” with
Consistent hashing distributes keys across a cluster of nodes such that adding or removing a node only remaps approximately 1/N
A bulk email system sends millions of marketing or transactional emails to user segments, tracking delivery, opens, clicks, and unsubscribes.
Two-phase commit (2PC) is a distributed transaction protocol that ensures all participants in a multi-node operation either all commit or
Push notification token management handles the lifecycle of device tokens issued by APNs (Apple) and FCM (Google): storing them when
The inbox pattern is the receiving counterpart to the outbox pattern. Where the outbox ensures a service reliably publishes events
Service discovery lets microservices find each other without hardcoded IP addresses. In dynamic environments where containers start, stop, and move,