PageSourceSearch

https://githubengineering.com/page/2/

html githubengineering.com collected 2026-09-24 08:25:36 UTC 11,069 bytes, 217 lines download raw bytes

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.