Skip to content
This repository

Redirectories 

drbrain edited this page · 3 revisions

Redirectories look to solve the "redirection latency" issue. This issue stems from the way that the rubygems software requests data from rubygems.org. Rubygems.org serves out redirects to s3 and cloudfront resources after tracking some metrics. This means that for, say europe, there is potentially a high latency HTTP request to rubygems.org just to get a redirect to a low latency cloudfront server.

To solve this issue, we can introduce a simple redirectory process that can run in other network domains. This process could act as a simple lazily filled caching redirector. This is would solve the high latency hit to rubygems.org and reduce the load on rubygems.org itself.

A redirectory would keep metrics about download counts it has served out which rubygems.org would query once in a while to update the primary database.

A simple redirectory is: https://gist.github.com/1110378

Redirectories do not solve the .gem mirroring problem as the simple redirect clients to whatever url rubygems.org would have. A .gem mirroring solution might have to be redirectory aware (to clear caches for mirrors that go missing) but that would be added in the future.

An EU or Asia redirectory could be enabled through geo-specific DNS.

Something went wrong with that request. Please try again.