1<!DOCTYPE html> 2 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us"> 4 <head> 5 <link href="http://gmpg.org/xfn/11" rel="profile"> 6 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 7 <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"> 8 9 <!-- Enable responsiveness on mobile devices--> 10 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1"> 11 12 <!-- CSS --> 13 <link rel="stylesheet" href="/css/reset.css"> 14 <link rel="stylesheet" href="/css/markdown.css"> 15 <link rel="stylesheet" href="/css/syntax.css"> 16 <link rel="stylesheet" href="/css/eng.css"> 17 <link rel="stylesheet" href="/css/chat.css"> 18 <link rel="stylesheet" href="/octicons/octicons.css"> 19 20 <!-- RSS --> 21 <link type="application/atom+xml" rel="alternate" href="https://github.blog/engineering.atom" title="GitHub Engineering" /> 22 23 <meta name="octolytics-app-id" content="internal-engineering-blog"> 24 25 <!-- Begin Jekyll SEO tag v2.7.1 --> 26<title>Page 2 of 13 for GitHub Engineering | The Blog of the GitHub Engineering Team</title> 27<meta name="generator" content="Jekyll v3.9.0" /> 28<meta property="og:title" content="GitHub Engineering" /> 29<meta name="author" content="GitHub Engineering" /> 30<meta property="og:locale" content="en_US" /> 31<meta name="description" content="The Blog of the GitHub Engineering Team" /> 32<meta property="og:description" content="The Blog of the GitHub Engineering Team" /> 33<link rel="canonical" href="https://githubengineering.com/page/2/" /> 34<meta property="og:url" content="https://githubengineering.com/page/2/" /> 35<meta property="og:site_name" content="GitHub Engineering" /> 36<link rel="prev" href="https://githubengineering.com/" /> 37<link rel="next" href="https://githubengineering.com/page/3" /> 38<meta name="twitter:card" content="summary" /> 39<meta property="twitter:title" content="GitHub Engineering" /> 40<meta name="twitter:site" content="@GitHubEng" /> 41<meta name="twitter:creator" content="@GitHub Engineering" /> 42<meta property="article:publisher" content="https://www.facebook.com/GitHub/" /> 43<meta property="fb:app_id" content="1401488693436528" />
44<script type="application/ld+json"> 45{"description":"The Blog of the GitHub Engineering Team","url":"https://githubengineering.com/page/2/","@type":"WebPage","headline":"GitHub Engineering","author":{"@type":"Person","name":"GitHub Engineering"},"@context":"https://schema.org"}</script>
45 46<!-- End Jekyll SEO tag --> 47 48 </head> 49 50 <body> 51 <header> 52 <div class="content"> 53 <h2 class="no-anchor"><a href="/">GitHub Engineering</a></h2> 54 <ul> 55 <li><a href="/atom.xml"><span class="octicon octicon-rss"></span></a></li> 56 <li><a href="http://twitter.com/GitHubEng" class="twitter-logo"></a></li> 57 </ul> 58 </div> 59 </header> 60 61 <section> 62 63 64 <article> 65 <div class="post-content"> 66 <h1 class="post-title"><a href="/glb-director-open-source-load-balancer/">GLB: GitHub's open source load balancer</a></h1> 67 <p class="meta"> 68 69 70 71 72 <a href="https://github.com/theojulienne" class="post-author-image "> 73 <img class="avatar avatar-small" alt="theojulienne" width="40" height="40" data-proofer-ignore="true" src="https://avatars0.githubusercontent.com/theojulienne?v=3&s=40" srcset="https://avatars0.githubusercontent.com/theojulienne?v=3&s=40 1x, https://avatars0.githubusercontent.com/theojulienne?v=3&s=80 2x, https://avatars0.githubusercontent.com/theojulienne?v=3&s=120 3x, https://avatars0.githubusercontent.com/theojulienne?v=3&s=160 4x" /> 74 </a> 75 <a href="https://github.com/theojulienne" class="post-author">theojulienne</a> 76 77 78 <span class="post-date"><span class="octicon octicon-calendar"></span>August 08, 2018</span> 79 </p> 80 <div class="markdown-body"> 81 <p>At GitHub, we serve tens of thousands of requests every second out of our network edge, operating on <a href="http://githubengineering.com/githubs-metal-cloud/">GitHubâs metal cloud</a>. Weâve previously <a href="https://githubengineering.com/introducing-glb/">introduced GLB</a>, our scalable load balancing solution for bare metal datacenters, which powers the majority of GitHubâs public web and git traffic, as well as fronting some of our most critical internal systems such as <a href="https://githubengineering.com/mysql-high-availability-at-github/">highly available MySQL clusters</a>. Today weâre excited to share more details about our load balancerâs design, as well as release the GLB Director as open source.</p> 82 83 84 </div> 85 </div> 86 </article> 87 88 89 90 <article> 91 <div class="post-content"> 92 <h1 class="post-title"><a href="/mysql-high-availability-at-github/">MySQL High Availability at GitHub</a></h1> 93 <p class="meta"> 94 95 96 97 98 <a href="https://github.com/shlomi-noach" class="post-author-image "> 99 <img class="avatar avatar-small" alt="shlomi-noach" width="40" height="40" data-proofer-ignore="true" src="https://avatars1.githubusercontent.com/shlomi-noach?v=3&s=40" srcset="https://avatars1.githubusercontent.com/shlomi-noach?v=3&s=40 1x, https://avatars1.githubusercontent.com/shlomi-noach?v=3&s=80 2x, https://avatars1.githubusercontent.com/shlomi-noach?v=3&s=120 3x, https://avatars1.githubusercontent.com/shlomi-noach?v=3&s=160 4x" /> 100 </a> 101 <a href="https://github.com/shlomi-noach" class="post-author">shlomi-noach</a> 102 103 104 <span class="post-date"><span class="octicon octicon-calendar"></span>June 20, 2018</span> 105 </p> 106 <div class="markdown-body"> 107 <p>GitHub uses MySQL as its main datastore for all things non-<code class="language-plaintext highlighter-rouge">git</code>, and its availability is critical to GitHubâs operation. The site itself, GitHubâs API, authentication and more, all require database access. We run multiple MySQL clusters serving our different services and tasks. Our clusters use classic master-replicas setup, where a single node in a cluster (the <em>master</em>) is able to accept writes. The rest of the cluster nodes (the <em>replicas</em>) asynchronously replay changes from the master and serve our read traffic.</p> 108 109 110 </div> 111 </div> 112 </article> 113 114 115 116 <article> 117 <div class="post-content"> 118 <h1 class="post-title"><a href="/removing-oobgc/">Performance Impact of Removing OOBGC</a></h1> 119 <p class="meta"> 120 121 122 123 124 <a href="https://github.com/tenderlove" class="post-author-image "> 125 <img class="avatar avatar-small" alt="tenderlove" width="40" height="40" data-proofer-ignore="true" src="https://avatars3.githubusercontent.com/tenderlove?v=3&s=40" srcset="https://avatars3.githubusercontent.com/tenderlove?v=3&s=40 1x, https://avatars3.githubusercontent.com/tenderlove?v=3&s=80 2x, https://avatars3.githubusercontent.com/tenderlove?v=3&s=120 3x, https://avatars3.githubusercontent.com/tenderlove?v=3&s=160 4x" /> 126 </a> 127 <a href="https://github.com/tenderlove" class="post-author">tenderlove</a> 128 129
130 <span class="post-date"><span class="octicon octicon-calendar"></span>May 18, 2018</span> 131 </p> 132 <div class="markdown-body"> 133 <p>Until last week, GitHub used an Out of Band Garbage Collector (OOBGC) in production. Since removing it, we decreased CPU time across our production machines by 10%. Letâs talk about what an OOBGC is, when to use it, and when not to use it. Then follow up with some statistics about the impact of removing it from GitHubâs stack.</p> 134 135 136 </div> 137 </div> 138 </article> 139 140 141 142 <article> 143 <div class="post-content"> 144 <h1 class="post-title"><a href="/improving-your-oss-dependency-workflow-with-licensed/">Improving your OSS dependency workflow with Licensed</a></h1> 145 <p class="meta"> 146 147 148 149 150 <a href="https://github.com/jonabc" class="post-author-image "> 151 <img class="avatar avatar-small" alt="jonabc" width="40" height="40" data-proofer-ignore="true" src="https://avatars1.githubusercontent.com/jonabc?v=3&s=40" srcset="https://avatars1.githubusercontent.com/jonabc?v=3&s=40 1x, https://avatars1.githubusercontent.com/jonabc?v=3&s=80 2x, https://avatars1.githubusercontent.com/jonabc?v=3&s=120 3x, https://avatars1.githubusercontent.com/jonabc?v=3&s=160 4x" /> 152 </a> 153 <a href="https://github.com/jonabc" class="post-author">jonabc</a> 154 155 156 <span class="post-date"><span class="octicon octicon-calendar"></span>March 07, 2018</span> 157 </p> 158 <div class="markdown-body"> 159 <p>GitHub recently open sourced <a href="https://github.com/github/licensed">Licensed</a> in the hopes that it is as helpful to the OSS community as it has been to us.</p> 160 161 162 </div> 163 </div> 164 </article> 165 166 167 168 <article> 169 <div class="post-content"> 170 <h1 class="post-title"><a href="/ddos-incident-report/">February 28th DDoS Incident Report</a></h1> 171 <p class="meta"> 172 173 174 175 176 <a href="https://github.com/skottler" class="post-author-image "> 177 <img class="avatar avatar-small" alt="skottler" width="40" height="40" data-proofer-ignore="true" src="https://avatars3.githubusercontent.com/skottler?v=3&s=40" srcset="https://avatars3.githubusercontent.com/skottler?v=3&s=40 1x, https://avatars3.githubusercontent.com/skottler?v=3&s=80 2x, https://avatars3.githubusercontent.com/skottler?v=3&s=120 3x, https://avatars3.githubusercontent.com/skottler?v=3&s=160 4x" /> 178 </a> 179 <a href="https://github.com/skottler" class="post-author">skottler</a> 180 181 182 <span class="post-date"><span class="octicon octicon-calendar"></span>March 01, 2018</span> 183 </p> 184 <div class="markdown-body"> 185 <p>On Wednesday, February 28, 2018 GitHub.com was unavailable from 17:21 to 17:26 UTC and intermittently unavailable from 17:26 to 17:30 UTC due to a distributed denial-of-service (DDoS) attack. We understand how much you rely on GitHub and we know the availability of our service is of critical importance to our users. To note, at no point was the confidentiality or integrity of your data at risk. We are sorry for the impact of this incident and would like to describe the event, the efforts weâve taken to drive availability, and how we aim to improve response and mitigation moving forward.</p> 186 187 188 </div> 189 </div> 190 </article> 191 192 193</section> 194 195 196<section class="pagination"> 197 <div class="content"> 198 199 <a class="button button-previous" href="/page/3">Older posts</a> 200 201 202 203 <a class="button button-next" href="/">Newer posts</a> 204 205 </div> 206</section> 207 208 209 210 <footer> 211 <div class="content"> 212 <p>For updates, follow us on <a href="http://twitter.com/GitHubEng">Twitter</a> or <a href="https://github.com/about/jobs">join our team</a>. Check out <a href="/atom.xml">the feed</a> if you do the RSS thing.</p> 213 <p class="made-with-love"><span class="octicon octicon-pencil"></span> with <span class="octicon octicon-heart"></span> by <a href="https://github.com" class="octicon octicon-logo-github footer-logo"></a></p> 214 </div> 215 </footer> 216 </body> 217</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.