-
Notifications
You must be signed in to change notification settings - Fork 88
Mirroring 2.0
joliss edited this page Jan 11, 2012
·
8 revisions
Welcome to the rubygems-mirror wiki!
Discussing ideas, implementations, and more for fixing the mirroring pain we have in the rubygems ecosystem here.
- The current "gem mirror" system sucks.
- Failover is a concern if the main gem repo dies/disappears
- There are countless mirror organizations that will help us with hosting
- There's a lot of little files (over 200,000 gems and gemspecs)
- Gemcutter has spoiled us, we want our gems to be quickly pushed and installed. Waiting hours/days for gems to sync to mirrors is not acceptable.
- Pull/round robin mirroring has failed us before (RubyForge used to work this way)
- "Picking" a mirror sucks and this should be done for you. (Use a sane default, maybe opt for geoip)
- Simply pointing all downloads at a CloudFront distribution, like cloudfront.rubygems.org, which has the original rubygems.org server set as its custom origin. This way, CloudFront essentially acts as a super-fast cache, and it obviates the need for mirror-picking. The only downside is cost (~$.12/GB). How much traffic is RubyGems serving each month at the moment?
@qrush tried to set up MirrorBrain and it was really, really painful. Didn't get far.