Overview for 'githubengineering'
Written by GitHub Engineering
/ Original link
on Jan. 9, 2017
Historically, we have used Redis in two ways at GitHub: We used it as an LRU cache to conveniently store the results of expensive computations over data originally persisted in Git repositories or MySQL. We call this transient Redis. We also enabled persistence, which gave us durability guarantees…
Written by GitHub Engineering
/ Original link
on Dec. 7, 2016
GitHub uses MySQL to store its metadata: Issues, Pull Requests, comments, organizations, notifications and so forth. While git repository data does not need MySQL to exist and persist, GitHub’s service does. Authentication, API, and the website itself all require the availability of our MySQL fleet…
Written by GitHub Engineering
/ Original link
on Dec. 5, 2016
We serve a lot of diffs here at GitHub. Because it is computationally expensive to generate and display a diff, we’ve traditionally had to apply some very conservative limits on what gets loaded. We knew we could do better, and we set out to do so. Historical approach and problems Before this chang…
Written by GitHub Engineering
/ Original link
on Nov. 30, 2016
Recently we introduced GLB, the GitHub Load Balancer that powers GitHub.com. The GLB proxy tier, which handles TCP connection and TLS termination is powered by HAProxy, a reliable and high performance TCP and HTTP proxy daemon. As part of the design of GLB, we set out to solve a few of the common…