1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta name="generator" content="Hugo 0.85.0" /> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <meta name="robots" content="noodp" /> 8 <title>System Design</title><meta name="Description" content="Building the best system design resource in the world"><meta property="og:title" content="System Design" /> 9<meta property="og:description" content="Building the best system design resource in the world" /> 10<meta property="og:type" content="website" /> 11<meta property="og:url" content="https://systemdesign.one/" /><meta property="og:site_name" content="System Design" /> 12 13<meta name="twitter:card" content="summary"/> 14<meta name="twitter:title" content="System Design"/> 15<meta name="twitter:description" content="Building the best system design resource in the world"/> 16<meta name="application-name" content="System Design"> 17<meta name="apple-mobile-web-app-title" content="System Design"><meta name="theme-color" content="#ffffff"><meta name="msapplication-TileColor" content="#da532c"><link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> 18 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 19 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"><link rel="manifest" href="/site.webmanifest"><link rel="canonical" href="https://systemdesign.one/" /><link rel="alternate" href="/index.xml" type="application/rss+xml" title="System Design"> 20 <link rel="feed" href="/index.xml" type="application/rss+xml" title="System Design"><link rel="stylesheet" href="/css/style.min.css"><link rel="preload" href="/lib/fontawesome-free/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 21 <noscript><link rel="stylesheet" href="/lib/fontawesome-free/all.min.css"></noscript><link rel="preload" href="/lib/animate/animate.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 22 <noscript><link rel="stylesheet" href="/lib/animate/animate.min.css"></noscript><meta name="msvalidate.01" content="FD39F28F92F811F282452AC196AB113C" /><meta name="yandex-verification" content="b2096c1f054386e1" />
22<script type="application/ld+json"> 23 { 24 "@context": "http://schema.org", 25 "@type": "WebSite", 26 "url": "https:\/\/systemdesign.one\/","inLanguage": "en","author": { 27 "@type": "Person", 28 "name": "Neo Kim" 29 },"description": "Building the best system design resource in the world","license": "CC BY-NC 4.0","name": "System Design" 30 } 31 </script>
31</head> 32 <body data-header-desktop="fixed" data-header-mobile="auto">
32<script type="text/javascript">(window.localStorage && localStorage.getItem('theme') ? localStorage.getItem('theme') === 'dark' : ('light' === 'auto' ? window.matchMedia('(prefers-color-scheme: dark)').matches : 'light' === 'dark')) && document.body.setAttribute('theme', 'dark');</script>
32 33 34 <div id="mask"></div><div class="wrapper"><header class="desktop" id="header-desktop"> 35 <div class="header-wrapper"> 36 <div class="header-title"> 37 <a href="/" title="System Design">System Design</a> 38 </div> 39 <div class="menu"> 40 <div class="menu-inner"><a class="menu-item" href="https://newsletter.systemdesign.one/subscribe" title="Newsletter" rel="noopener noreffer" target="_blank"> Join Newsletter </a><a class="menu-item" href="/categories/" title="Archive"> Archive </a><a class="menu-item" href="/about/" title="About"> About </a><span class="menu-item delimiter"></span><span class="menu-item search" id="search-desktop"> 41 <input type="text" placeholder="Search titles or contents..." id="search-input-desktop"> 42 <a href="javascript:void(0);" class="search-button search-toggle" id="search-toggle-desktop" title="Search"> 43 <i class="fas fa-search fa-fw" aria-hidden="true"></i> 44 </a> 45 <a href="javascript:void(0);" class="search-button search-clear" id="search-clear-desktop" title="Clear"> 46 <i class="fas fa-times-circle fa-fw" aria-hidden="true"></i> 47 </a> 48 <span class="search-button search-loading" id="search-loading-desktop"> 49 <i class="fas fa-spinner fa-fw fa-spin" aria-hidden="true"></i> 50 </span> 51 </span><a href="javascript:void(0);" class="menu-item theme-switch" title="Switch Theme"> 52 <i class="fas fa-adjust fa-fw" aria-hidden="true"></i> 53 </a></div> 54 </div> 55 </div> 56</header><header class="mobile" id="header-mobile"> 57 <div class="header-container"> 58 <div class="header-wrapper"> 59 <div class="header-title"> 60 <a href="/" title="System Design">System Design</a> 61 </div> 62 <div class="menu-toggle" id="menu-toggle-mobile"> 63 <span></span><span></span><span></span> 64 </div> 65 </div> 66 <div class="menu" id="menu-mobile"><div class="search-wrapper"> 67 <div class="search mobile" id="search-mobile"> 68 <input type="text" placeholder="Search titles or contents..." id="search-input-mobile"> 69 <a href="javascript:void(0);" class="search-button search-toggle" id="search-toggle-mobile" title="Search"> 70 <i class="fas fa-search fa-fw" aria-hidden="true"></i> 71 </a> 72 <a href="javascript:void(0);" class="search-button search-clear" id="search-clear-mobile" title="Clear"> 73 <i class="fas fa-times-circle fa-fw" aria-hidden="true"></i> 74 </a> 75 <span class="search-button search-loading" id="search-loading-mobile"> 76 <i class="fas fa-spinner fa-fw fa-spin" aria-hidden="true"></i> 77 </span> 78 </div> 79 <a href="javascript:void(0);" class="search-cancel" id="search-cancel-mobile"> 80 Cancel 81 </a> 82 </div><a class="menu-item" href="https://newsletter.systemdesign.one/subscribe" title="Newsletter" rel="noopener noreffer" target="_blank">Join Newsletter</a><a class="menu-item" href="/categories/" title="Archive">Archive</a><a class="menu-item" href="/about/" title="About">About</a><a href="javascript:void(0);" class="menu-item theme-switch" title="Switch Theme"> 83 <i class="fas fa-adjust fa-fw" aria-hidden="true"></i> 84 </a></div> 85 </div> 86</header><div class="search-dropdown desktop"> 87 <div id="search-dropdown-desktop"></div> 88 </div> 89 <div class="search-dropdown mobile"> 90 <div id="search-dropdown-mobile"></div> 91 </div><main class="main"> 92 <div class="container"><div class="page home"><div class="home-profile"><div class="newsletter-container"> 93 <iframe class="newsletter-responsive-iframe" title="System Design Newsletter" 94 src="https://newsletter.systemdesign.one/embed" scrolling="no"></iframe> 95 </div></div></div></div> 96 </main><footer class="footer"> 97 <div class="footer-container"><div class="footer-line" itemscope itemtype="http://schema.org/CreativeWork"><i class="far fa-copyright fa-fw" aria-hidden="true"></i><span itemprop="copyrightYear">2022 - 2025</span><span class="author" itemprop="copyrightHolder"> <a 98 href="https://www.linkedin.com/in/nk-systemdesign-one/" target="_blank">Neo Kim</a></span> | <span class="newsletter"><a rel="nofollow" href="https://newsletter.systemdesign.one/subscribe" target="_blank">Newsletter</a></span> | <span class="youtube"><a rel="nofollow" href="https://www.youtube.com/@systemdesignone?sub_confirmation=1" target="_blank">YouTube</a></span> | <span class="privacy"><a rel="nofollow" href="https://systemdesign.one/privacy-policy/" target="_blank">Privacy</a></span> | <span class="terms"><a rel="nofollow" href="https://systemdesign.one/terms-of-service/" target="_blank">Terms</a></span> | <span class="impressum"><a rel="nofollow" href="https://newsletter.systemdesign.one/p/impressum/" target="_blank">Impressum</a></span></div> 99 </div> 100</footer></div> 101 102 <div id="fixed-buttons"><a href="#" id="back-to-top" class="fixed-button" title="Back to Top"> 103 <i class="fas fa-arrow-up fa-fw" aria-hidden="true"></i> 104 </a><a href="#" id="view-comments" class="fixed-button" title="View Comments"> 105 <i class="fas fa-comment fa-fw" aria-hidden="true"></i> 106 </a> 107 </div><link rel="stylesheet" href="/lib/cookieconsent/cookieconsent.min.css">
107<script type="text/javascript" src="/lib/autocomplete/autocomplete.min.js"></script>
107<script type="text/javascript" src="/lib/lunr/lunr.min.js"></script>
107<script type="text/javascript" src="/lib/lazysizes/lazysizes.min.js"></script>
107<script type="text/javascript" src="/lib/clipboard/clipboard.min.js"></script>
107<script type="text/javascript" src="/lib/sharer/sharer.min.js"></script>
107<script type="text/javascript" src="/lib/cookieconsent/cookieconsent.min.js"></script>
107<script type="text/javascript">window.config={"code":{"copyTitle":"Copy to clipboard","maxShownLines":50},"cookieconsent":{"content":{"dismiss":"Got it!","href":"https://systemdesign.one/cookie-policy/","link":"Learn more","message":"This website uses cookies."},"enable":true,"palette":{"button":{"background":"#f0f0f0"},"popup":{"background":"#1aa3ff"}},"theme":"edgeless"},"search":{"highlightTag":"em","lunrIndexURL":"/index.json","maxResultLength":10,"noResultsFound":"No results found","snippetLength":30,"type":"lunr"}};</script>
107<script type="text/javascript" src="/js/theme.min.js"></script>
107<script type="text/javascript"> 108
vendor: 133 bytes, lines 108-109
108window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js', new Date()); 109 gtag('config', '
109G-ELC84BW3LQ
vendor: 38 bytes, lines 109-110
109', { 'anonymize_ip': true }); 110
110</script>
vendor: 80 bytes, line 110
110<script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=
110G-ELC84BW3LQ
vendor: 17 bytes, line 110
110" async></script>
110</body> 111</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.