10 ms·
Yes, write a Git backend using a distributed actor system, like Akka, Orleans or Service Fabric, backed by Table Storage, Bigtable or some other distributed has
by Maarten88 10y ago
Yes, write a Git backend using a distributed actor system, like Akka, Orleans or Service Fabric, backed by Table Storage, Bigtable or some other distributed hashtable store. Git maps naturally to this structure, using git hashes as table index.
You'll have a really cheap and very scalable solution that uses low level storage mechanisms yet it will also be really performant because when loaded everything will be served from memory.
- sytse 10y agoFor sure, and people are trying to do this on the basis of libgit2. But so far nobody has been able to make it work for all of the cases. Even GitHub is using filesystems as far as I know.
- markelliot 10y agoOne of the teams I work closely with used JGit's extensibility to run git on top of a KVS: https://medium.com/@palantir/stemma-distributed-git-server-70afbca0fc29 https://medium.com/@palantir/stemma-distributed-git-server-7... Notably this doesn't require a distributed filesystem.
- sytse 10y agoThat looks really interesting, thanks for posting. I added it to our issue https://gitlab.com/gitlab-com/infrastructure/issues/727#note_18253855 https://gitlab.com/gitlab-com/infrastructure/issues/727#note...
- nixgeek 10y agoRelevant: http://githubengineering.com/introducing-dgit/ http://githubengineering.com/introducing-dgit/
- ethomson 10y agoFor Visual Studio Online and TFS, Microsoft is using libgit2 and some custom ASP.NET code for the upload-pack / receive-pack endpoints, stuffing the data into SQL Azure. No filesystem, no `git` executable.