Circuit Breaker & Bulkhead
Circuit Breaker fails fast when downstream is broken, preventing cascading failures. Bulkhead isolates resources per service, preventing one slow dependency from starving others.
Circuit Breaker fails fast when downstream is broken, preventing cascading failures. Bulkhead isolates resources per service, preventing one slow dependency from starving others.
Kafka's power comes from partitioned log structure enabling both ordering per partition and massive parallelism; managing consumer offsets is the key complexity.
Distributed nodes agree on a single value despite failures — the foundation of replicated state machines, leader election, and coordination in systems that cannot tolerate split-brain.
Protect services from overload and abuse by controlling request rates -- token bucket is the industry standard, sliding window counter provides accuracy at scale.
Distribute incoming traffic across multiple servers to maximize throughput, minimize latency, and prevent overload -- least connections for general workloads, consistent hashing for stateful services, Maglev hashing for massive scale.
Distribute keys across nodes so that only K/N keys are remapped when a node is added or removed (vs. all keys with simple modulo hashing).
DP solves optimization problems by caching subproblem results -- reducing exponential time complexity to polynomial. Essential for system design: resource allocation, query optimization, cost modeling, and capacity planning.
A probabilistic set that answers "definitely NOT in set" or "POSSIBLY in set" — never false negatives, allows false positives.
Map arbitrary data to fixed-size digests -- used for integrity, identity, distribution, and authentication across every layer of a system.
Choosing the right sort determines latency, memory usage, and scalability in distributed systems -- O(n log n) on small datasets vs. O(n + k) for structured data vs. external merge sort for big data.