Gestire mirror con Metalink e Mirrorbrain

Se avete un sito web che permette di scaricare grandi file e disponete di qualche mirror allora dovete conoscere il concetto di Metalink.

In pratica un Metalink non è altro che un file xml che contiene la lista dei file da scaricare associato al suo MD5/SHA1/firma PGP e la lista dei repository dove questo file si trova, un esempio puo’ essere:

<metalink version="3.0" xmlns="http://www.metalinker.org/">
  <files>
    <file name="example.zip">
    <verification>
      <hash type="md5">example-md5-hash</hash>
      <hash type="sha1">example-sha1-hash</hash>
    </verification>
    <resources>
      <url type="ftp" location="us" preference="90">ftp://ftp.example1.com/example.zip</url>
      <url type="http" location="uk" preference="90">ftp://ftp.example2.com/example.zip</url>
      <url type="bittorrent" preference="100">http://www.ex.com/example.zip.torrent</url>
    </resources>
    </file>
  </files>
</metalink>

Come potete vedere non solo è possibile indicare il tipo di protocollo ma anche un valore di preferenza.

Questi file metalink sono riconosciuti da download managers come DownthemAll! (una estensione di Firefox), il quale recupera l’MD5, per esempio, e scarica il file dagli url in ordine di preferenza. In questo modo il download manager puo’ anche gestire il caso in cui un link non funzioni e passare a quello successivo.

Ora, supponiamo che dal punto di vista del server conosciamo la banda che ogni mirror dispone e magari anche recuperiamo l’indicazione geografica tramite IP del client, potremmo generare un metalink dinamico che si adatta alle esigenze del client, ecco quello che fa MirrorBrain.

MirrorBrain è difatti un content delivery network basato su mirror, diciamo quindi una specie di loadbalancing su diversi fattori.

MirrorBrain è rilasciato con licenza GPL ed è stato da poco (11 Febbraio), totalmente adottato da OpenOffice 3.2, ne vedete un’esempio qui:

http://openoffice.mirrorbrain.org/stable/3.2.0/

MirrorBrain è anche usato da Free Software Foundation e OpenSuse, meglio l’autore Peter Poeml ha potuto creare il progetto grazie a Novell per cui lavora dal 2000.

Buon mirroring !

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s