Back

System Design

14 deep dives

System Design advanced

Mastering Multi-Tier Caching: Building 99.9% Available E-Commerce Platforms

In today's hyper-competitive e-commerce landscape, every millisecond counts. A robust multi-tier caching strategy isn't ...

System Design advanced

Selenium Grid Survival Guide - Taming the 10K Session Beast

Ever had your test suite crash at 3am because Selenium Grid decided to hoard memory like a dragon with gold? You're not ...

System Design advanced

Building Slack's Brain: How Real-Time Chat Survives the Chaos

Ever had your chat app go dark during a team crisis at 3am because messages started appearing out of order? That's when ...

System Design advanced

Mastering Distributed Order Processing with Saga Pattern in High-Frequency Trading

In the world of high-frequency trading, where millions of transactions occur every second, system reliability isn't just...

System Design intermediate

When Retries Turn Nightmares: A Resilience Journey Through Microservices

It started with a misconfigured retry loop that spiraled into a full-blown outage. At 3 a.m., checkout threads from a pa...

System Design advanced

Airbnb's 2019 Elasticsearch Outage: The Rolling Upgrade That Silenced Search for Hours

It was 3am when alarms lit up the on-call pager as Airbnb's search service began returning errors; the dashboard turned ...

System Design advanced

Okta's OK6 Outage: A 136-Minute Dashboards Read-Only Postmortem

At 3am in December 2025, Okta's OK6 dashboard abruptly turned red as end users could log in but could not create or modi...

System Design advanced

The Ring Master: How Netflix Survives the Midnight Cache Apocalypse

Ever had your API crash at 3am because a single cache node went down and took 10% of your data with it? You're not alone...

System Design advanced

Rate Limiting Roulette: How to Win at 1M+ Requests Without Crashing

Ever had your API crash at 3am because a viral tweet sent 10x your normal traffic? We've all been there. Building a rate...

System Design advanced

Rate Limiting Like a Boss: Surviving the 10M Request Apocalypse

Ever had your API crash at 3am because a viral tweet sent 10M requests your way? We've all been there - watching our bea...

System Design advanced

Token Bucket Tango - Dancing With 100M API Requests Without Breaking a Sweat

Ever had your API crash at 3am because a 'small' client decided to test your limits with 50K requests per second? We've ...

System Design advanced

Mastering Real-Time Collaboration: Building a Global Serverless Document Platform

In today's hyper-connected world, teams expect seamless collaboration across continents with zero latency. Building a gl...

System Design advanced

Mastering Distributed Rate Limiting at Scale

In today's hyper-connected world, protecting your services from overload while maintaining fair access is crucial. A rob...

System Design advanced

Mastering Distributed Rate Limiting: Scaling to 1M Requests Per Second

In today's hyper-connected world, distributed systems must handle massive traffic loads while maintaining fairness and p...

Start typing to search articles…
↑↓ navigate open Esc close
function openSearch() { document.getElementById('searchModal').classList.add('open'); document.getElementById('searchInput').focus(); document.body.style.overflow = 'hidden'; } function closeSearch() { document.getElementById('searchModal').classList.remove('open'); document.body.style.overflow = ''; document.getElementById('searchInput').value = ''; document.getElementById('searchResults').innerHTML = '
Start typing to search articles…
'; } document.addEventListener('keydown', e => { if ((e.metaKey || e.ctrlKey) && e.key === 'k') { e.preventDefault(); openSearch(); } if (e.key === 'Escape') closeSearch(); }); document.getElementById('searchInput')?.addEventListener('input', e => { const q = e.target.value.toLowerCase().trim(); const results = document.getElementById('searchResults'); if (!q) { results.innerHTML = '
Start typing to search articles…
'; return; } const matches = searchData.filter(a => a.title.toLowerCase().includes(q) || (a.intro||'').toLowerCase().includes(q) || a.channel.toLowerCase().includes(q) || (a.tags||[]).some(t => t.toLowerCase().includes(q)) ).slice(0, 8); if (!matches.length) { results.innerHTML = '
No articles found
'; return; } results.innerHTML = matches.map(a => `
${a.title}
${a.channel.replace(/-/g,' ')}${a.difficulty}
`).join(''); }); function toggleTheme() { const html = document.documentElement; const next = html.getAttribute('data-theme') === 'dark' ? 'light' : 'dark'; html.setAttribute('data-theme', next); localStorage.setItem('theme', next); } // Reading progress window.addEventListener('scroll', () => { const bar = document.getElementById('reading-progress'); const btt = document.getElementById('back-to-top'); if (bar) { const doc = document.documentElement; const pct = (doc.scrollTop / (doc.scrollHeight - doc.clientHeight)) * 100; bar.style.width = Math.min(pct, 100) + '%'; } if (btt) btt.classList.toggle('visible', window.scrollY > 400); }); // TOC active state const tocLinks = document.querySelectorAll('.toc-list a'); if (tocLinks.length) { const observer = new IntersectionObserver(entries => { entries.forEach(e => { if (e.isIntersecting) { tocLinks.forEach(l => l.classList.remove('active')); const active = document.querySelector('.toc-list a[href="#' + e.target.id + '"]'); if (active) active.classList.add('active'); } }); }, { rootMargin: '-20% 0px -70% 0px' }); document.querySelectorAll('.article-content h2[id]').forEach(h => observer.observe(h)); } function filterArticles(difficulty, btn) { document.querySelectorAll('.diff-filter').forEach(b => b.classList.remove('active')); if (btn) btn.classList.add('active'); document.querySelectorAll('.article-card').forEach(card => { card.style.display = (difficulty === 'all' || card.dataset.difficulty === difficulty) ? '' : 'none'; }); } function copySnippet(btn) { const snippet = document.getElementById('shareSnippet')?.innerText; if (!snippet) return; navigator.clipboard.writeText(snippet).then(() => { btn.innerHTML = ''; if (typeof lucide !== 'undefined') lucide.createIcons(); setTimeout(() => { btn.innerHTML = ''; if (typeof lucide !== 'undefined') lucide.createIcons(); }, 2000); }); } if (typeof lucide !== 'undefined') lucide.createIcons();