Service/mirrors: Difference between revisions
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
[[Category:Resource]] | [[Category:Resource]] | ||
==Introduction== | == Introduction == | ||
A content delivery network or Content Delivery Network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, thereby causing a bottleneck near that server. | A content delivery network or Content Delivery Network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, thereby causing a bottleneck near that server. | ||
==Goals== | == Goals == | ||
* Reduce bandwidth at primary download server. | * Reduce bandwidth at primary download server. | ||
* Improve quality of service for users. | * Improve quality of service for users. | ||
* Move content closer to users, thus reducing latency. | * Move content closer to users, thus reducing latency. | ||
==Mirrors== | == Architecture == | ||
The Sugar Labs Content Delivery Network uses [http://www.mirrorbrain.org/ MirrorBrain] as a redirector. The redirector, which lives in a Sugar Labs data center, keeps track of which files are available on which mirror. When a user requests a file, the redirector points the user to the correct mirror and automatically starts the file download. | |||
== Mirrors == | |||
The current list of available mirrors is available at http://mirrors.sugarlabs.org/ | The current list of available mirrors is available at http://mirrors.sugarlabs.org/ | ||
== Setting up a new mirror == | |||
== | === For mirror administrators === | ||
All you need is a web server with enough bandwidth to serve the files. To set up a new mirror, the site administrator needs to: | |||
* Set up rsync job to synchronize a copy of the files on http://downloads.sugarlabs.org onto their local system. You can schedule it daily or more frequently, but please don't sync more often than once per hour. | |||
* Set up rsync job to synchronize a copy of the files on http://downloads.sugarlabs.org onto their local system. | |||
* Publish the files via HTTP and -- if possible -- rsync. Rsync allows for efficient [http://www.mirrorbrain.org/features/#mirror-monitoring mirror monitoring] (scanning). FTP is less efficient, but still preferred over an HTTP-only mirror. | * Publish the files via HTTP and -- if possible -- rsync. Rsync allows for efficient [http://www.mirrorbrain.org/features/#mirror-monitoring mirror monitoring] (scanning). FTP is less efficient, but still preferred over an HTTP-only mirror. | ||
* Alert the Sugar Labs | * Alert the [[Infrastructure_Team/Contacts|Sugar Labs System Administrators]] that they would like their mirror into rotation, including the following information in the request: | ||
** Name and URL of the mirror operator (e.g. | ** Name and URL of the mirror operator (e.g. organization) | ||
** Name and email address of the administrative contact | ** Name and email address of the administrative contact | ||
** [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2] country code of the server location | ** [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2] country code of the server location | ||
** HTTP base URL of the files on the mirror | ** HTTP base URL of the files on the mirror (typically http://mirrors.example.org/sugarlabs/) | ||
** rsync base URL of the files on the mirror | ** rsync base URL of the files on the mirror (typically rsync://mirrors.example.org/sugarlabs/) | ||
Please contact sysadmin AT sugarlabs DOT org if you are interested in hosting a mirror. | |||
=== For Sugar Labs sysadmins === | |||
To add a new mirror to the MirrorBrain redirector: | |||
* Choose a name for the mirror, usually the host name. | * Choose a name for the mirror, usually the host name. | ||