gitgithubkubernetesload-balancinghorizontal-scaling

How do git servers scale?


Popular version control servers (like github) are likely having an immense amount of traffic and need a scalable & durable data storage. I was wondering how is this implemented in the background.

I have few guesses/assumptions on how it works but I'm not sure if they are 100% accurate:

One other possibility is just storing the entire .git in a database as blob and have a scalable stateless application fetch that .git for each request, do operations, store the result again and the send response however this is probably a really inefficient solution so I thought it is unlikely to be the underlying mechanism.

So my main questions are:


Solution

  • No need to rely on guesses.

    For GitHub specifically, the githubengineering blog details what they had to use in order to scale to their current usage level.

    Beside upgrading Rails or removing JQuery, on the frontend side, they have:

    Regarding Kubernetes: