El Noguer

Joaquim Perez i Noguer

La tecnologia que utilitza el Facebook

Filed under: Ciència i tecnologia,Linux — Joaquim Perez Noguer at 10:39 am on Dimecres, desembre 29, 2010

Al bloc Royal Pingdom he trobat aquest interessant article sobre la tecnologia que utilitza Facebook per donar servei a:

  • 570.000 milions de pàgines vistes cada mes (segons Google Ad Planner).
  • Es pugen més de 3.000 milions de fotos cada mes.
  • Serveix més de 1 milió de  fotos cada segon.
  • Es comparteixen més de  25.000 milions de peces cada mes (estats, comentaris, …).
  • Utilitza més de 30.000 servidors

I el més bo de tot és que Facebook aprofita la tecnologia GNU/Linux per fer tot això. Bàsicament tecnologia LAMP.
Ara bé Facebook ha personalitzat i optimitzat el sistema LAMP a la seva manera:

Memcached

Memcached és una aplicació de
codi lliure molt famosa a Internet. És un sistema de memòria cau entre
la base de dades i els servidors web. Facebook té milers de servidors
Memcached que gestionen desenes de terabytes de dades.

 

HipHop for PHP

HipHop
converteix el codi PHP en codi C++ que es pot compilar i així córrer més
ràpid a la màquina. Un petit equip de Facebook (inicialment 3 persones)
va desenvolupar aquest projecte en 18 mesos.

 

Haystack

Haystack
és un servidor de fotos desenvolupat per Facebook. Realment molt i molt potent.

 

BigPipe

BigPipe
és un servidor de pàgines dinàmiques desenvolupat per Facebook per tal
de compondre les diverses parts de la pàgina web que calcula cada grup
de servidors per separat (la part de les notícies, el xat, …).

Cassandra

Cassandra
és un sistema de base de dades distribuït no-relacional, que ara ha
esdevingut un projecte Apache de codi lliure. Facebook l’utilitza en les
seves cerques de la Safata d’entrada. Cassandra també s’utilitza en
Digg per exemple.

 

Scribe

Scribe és un sistema
de registre del treball i dels errors desenvolupat per Facebook. Pensat
per entorns de producció enormes com el del Facebook.

Hadoop and Hive

Hadoop és un analitzador de dades de codi lliure. Hive és una eina de codi lliure desenvolupada per Facebook per consultar fàcilment els resultats del Hadoop.

Thrift

Facebook utilitza diversos llenguatges de programació.
PHP per la façana, Erlang pel Xat, Java i C++ per la resta. Thrift és un entorn de treball que permet desenvolupar en tots aquest llenguatges i que s’entenguin.

Facebook també ha alliberat el codi de Thrift.

Varnish

Varnish és un accelerador de HTTP de codi lliure que també fa el paper de balancejador de càrrega i de memòria cau de contingut web.

 



No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>