L’architettura di Wikipedia nel dettaglio

August 31st, 2007 at 2:02 pm • permalink7 comments

Wikipedia Logo Ho sempre letto con interesse (e spesso ammirazione) i whitepaper che descrivono le architetture delle applicazioni web, ovviamente ammesso e non concesso che queste applicazioni suscitino un certo interesse.
Senz’altro a nessuno verrebbe in mente di chiedermi le caratteristiche del sito www.simonecarletti.com tuttavia progetti come FeedBurner, WikiPedia, Google e suoi prodotti hanno sempre il loro fascino.

Era dal tempo del post Quanti dati indicizza Google?, quindi oltre un anno fa, che non mi capitava di sgranocchiare altrettanto impazientemente un whitepaper su un’architettura degna di interesse.
Grazie ad un vecchio post di Kevin Burton scopro che Domas Mituzas, che lavora per MySQL AB e Wikipedia, ha pubblicato un interessante workbook sull’architettura interna dei server della famosa enciclopedia. Sempre dal post di Domas scopro che un altro interessante whitepaper pubblicato illustra l’architettura di WikiMedia.

Per i più curiosi che non disdegnano qualche pillola ma che non amano dedicarsi alla lettura di questi documenti, ecco alcune informazioni.

Architettura LAMP

Wikipedia LAMP

Wikipedia si basa su una architettura LAMP, ovvero

  • Sistema operativo Linux, normalmente Fedora o Ubuntu
  • WebServer Apache
  • Database MySQL
  • Linguaggio di programmazione PHP, versione 5 (requisito minimo della piattaforma MediaWiki)

La piattaforma è MediaWiki, progettata e sviluppata dalla WikiMedia Foundation che, per intenderci, è la stessa fondazione alla base di WikiPedia.
Per accelerare i tempi di caricamento e gestire al meglio il carico, subentrano alcuni componenti di caching e distribuzione come

  • Il proxy SQUID
  • Il webserver lighttpd per la gestione dei file statici
  • Memcached per il caching di alcune risorse ed elaborazioni

Il documento prosegue poi presentando nel dettaglio l’architettura del sistema di caching e del database, fornendo utili informazioni su come ottimizzare ad esempio le query con appositi indici.
Il sistema di ricerca si basa su un porting di Lucene (che nativamente è scritto in Java) mentre il bilanciamento del carico è affidato a LVS (Linux Virtual Service).

Wikipedia Environment

Il whitepaper conta 30 pagine di dettagli tecnici ed utili informazioni, soprattutto per chi si prepara alla creazione di un progetto che dovrà presumibilmente sostenere carichi non indifferenti. Un’ottima lettura, non certo da ombrellone però.

  1. Wikipedia rimuove l’attributo nofollow

Filed in Server / Apache • Tags: , ,


Comments

faquick says:

… e quindi? :-P

Fiabeschi says:

E poi?

Siete simpatici quanto una forma di gorgonzola nel frigo… 8-)

Mo’ vi banno l’IP ora. :P

Giusto oggi pensavo a Wikipedia :D … ma è un’altra storia :D

brag says:

La stessa Wikipedia fornisce molte info sulla sua struttura e le caratteristiche/ubicazione dei server; ad esempio http://en.wikipedia.org/wiki/Wikipedia_servers#Software_and_hardware
Sicuramente interessante; purtroppo non ci capisco una mazza :(

flashmotus says:

ti ringrazio, l’architettura di wikipedia era una curiosità che da tempo non riuscivo a soddisfare, mancanza di tempo ma soprattutto di fonti “attendibili” di informazione.

Ciao, interessante la struttura di wikipedia ma credo sia interessante anche quanto sià diventata famosa e quante pagine web abbia questa gigantesta enciclopedia multilingua. Praticamente quasi tutte le parole ricercate su google fanno riferimento come primo o secondo link l’enciclopedia di wikipedia (nel peggiore dei casi è comunque sempre nella prima pagina nelle ricerche su google).
Una decina di giorni fà mi sono trovato a chattare nella chat irc di wikipedia e pensate un pò: tutto quello che avevo detto è stato pubblicato su internet, si proprio così quello che dite su wiki-chat compare su internet pubblicato come pagina web. Ciao

Add a Comment




Follow Me
    Random Quote