Annonce

Réduire
Aucune annonce.

Facebook Arch_

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Facebook Arch_

    Architecture Facebook


    • Le frond-end de Facebook (l’interface) est écrit en PHP Facebook Hip Hop (une version de PHP ultra optimisée conçu par Facebook). Ensuite, le code est compilé en C++ avec G++ pour offrir une interface réactive et performante indépendamment du nombre d’utilisateurs.

    • Le Business Logic (les algorithmes qui gérent les transactions entre la base de donnée et l’interface d’utilisateur) est basé sur des services de type Thrift. Certains de ces services sont conçus avec le PHP, C++ ou le JAVA selon les besoins.

    • Les services conçus en Java n’utilisent pas un environnement de logiciel propriétaire, mais c’est un composant qui a été crée par Facebook. La plupart des services utilisent principalement Thrift, car Tomcat ou Jetty ne seraient pas capables de gérer le nombre des transactions.

    • La persistence est géré par MySQL, MemCached, Cassandra et Hbase de Hadoop. MemCached est utilisé pour le cache de MySQL et des autres mémoires cache. Facebook délaisse progressivement Cassandra au profit de Hbase grâce à son modèle simplifié et l’intégration de MapReduce.

    • Les activités hors lignes sont gérées par Hadoop et Hive.

    • Les données tels que la connexion, les clics et les feeds sont gerées par Scribe et elles sont stockées avec Scribe-HDFS ce qui permet une analyse optimale avec MapReduce.

    • L’accélération du rendu des pages utilise la technologie personnalisée BigPipe.

    • Le cache Varnish est utilisé pour le proxying du HTTP.

    • Le stockage des milliards d’images est géré par HayStack, une solution de stockage développée par Facebook qui permet des optimisations de bas niveau.

    • Les messages de Facebook utilise sa propre architecture basée sur l’infrastructure Sharding et la gestion dynamique des clusters. Le Business Logic et la persistence sont encapsulés dans une entité appelée Cellule. Chaque Cellule gère un certain nombre d’utilisateurs et de nouvelles cellules peuvent être ajoutées si c’est nécessaire. La persistence est basé sur Hbase.

    • Le moteur de recherche des messages Facebook est conçu avec un index inversé qui est stocké dans Hbase.

    • La recherche TypeaHead utilise son propre module de stockage et une recherche logique.

    • Le chat Facebook est basé sur le serveur Epoll qui a été conçu par Erlang et son accès est géré par Thrift.


    Les ressources matérielles pour faire fonctionner Facebook :


    [#] Facebook possède environ 60 000 serveurs. Leur Datacenter dans la ville de Prineville dans l’Oregon est une architecture entièrement personnalisée qui est un projet de type Open Compute. On estime que 300 To de données seront stockées dans des processus MemCached.

    [#] Les clusters Hive et Hadoop de Facebook utilise 3000 serveurs de 8 coeurs, 32 Go de RAM et de 12 To d’espace disque ce qui fournit une puissance globale de 24 000 coeurs en processeur, 96 To de RAM et 36 Petabytes d’espace disque.

    [#] Chaque jour, Facebook génère environ 100 milliards de clic, 50 miliards d’images, 3 trillions d’objets qui utiisent le cache et leur fichier log d’une journée pèse 130 To (Statistiques 2010)

    Liens très utiles :

    HipHop for PHP : http://developers.facebook.com/blog/...hp--move-fast/
    Making HPHPi Faster : http://www.facebook.com/note.php?not...50336948348920
    The HipHop Virtual Machine : http://www.facebook.com/note.php?not...50415177928920
    Thrift : http://thrift.apache.org/
    Memcached : http://memcached.org/
    HBase : http://hbase.apache.org/
    Scribe : https://github.com/facebook/scribe
    Scribe-HDFS : http://hadoopblog.blogspot.fr/2009/0...tegration.html
    BigPipe : http://www.facebook.com/notes/facebo...e/389414033919
    Varnish Cache : http://www.varnish-cache.org/
    Facebook goes for Varnish : https://www.varnish-software.com/ref...media/facebook
    Needle in a haystack : efficient storage of billions of photos : http://www.facebook.com/note.php?note_id=76191543919
    Scaling the Messages Application Back End : http://www.facebook.com/note.php?not...50148835363920
    The Underlying Technology of Messages : https://www.facebook.com/note.php?note_id=454991608919
    The Underlying Technology of Messages Tech Talk : http://www.facebook.com/video/video.php?v=690851516105
    Facebook's typeahead search architecture : http://www.facebook.com/video/video.php?v=432864835468
    Facebook Chat : http://www.facebook.com/note.php?note_id=14218138919
    Open Compute Project : http://www.facebook.com/note.php?not...50144039563920
    Open Compute Project official : http://opencompute.org/
    FaceBook real time analytics system 2011 : http://ht.ly/8OGHD
    Data Warehousing and Analytics Infrastructure at Facebook : http://borthakur.com/ftp/sigmodwarehouse2010.pdf
    Apache Hadoop Goes Realtime at Facebook : http://borthakur.com/ftp/RealtimeHadoopSigmod2011.pdf
    Scalable Memory Allocation using jemalloc : http://www.facebook.com/notes/facebo...c/480222803919
    Tornado web framework : https://github.com/facebook/tornado

    src:michael figuiere
    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

  • #2
    Envoyé par SAKAROV Voir le message
    Architecture Facebook

    Les ressources matérielles pour faire fonctionner Facebook :


    [#] Facebook possède environ 60 000 serveurs. Leur Datacenter dans la ville de Prineville dans l’Oregon est une architecture entièrement personnalisée qui est un projet de type Open Compute. On estime que 300 To de données seront stockées dans des processus MemCached.

    [#] Les clusters Hive et Hadoop de Facebook utilise 3000 serveurs de 8 coeurs, 32 Go de RAM et de 12 To d’espace disque ce qui fournit une puissance globale de 24 000 coeurs en processeur, 96 To de RAM et 36 Petabytes d’espace disque.

    [#] Chaque jour, Facebook génère environ 100 milliards de clic, 50 miliards d’images, 3 trillions d’objets qui utiisent le cache et leur fichier log d’une journée pèse 130 To (Statistiques 2010)
    LA VACHE ! o.O Ca fait du sacré Cluster !
    Quand je pense que la boite dans laquelle je bossais (qui faisait de la CFD, donc simulation numérique) avait un Cluster de 96 coeurs.... RR Une miette de pain à coté quoi !
    Et le pire.... c'est que ça date de 2010 les statistiques ! Etant donné l'ampleur, ils ont du certainement augmenter tout ça et j'ose même pas imaginer la démence de l'installe
    Linux est à Windows ce qu'une jolie fille est à une prostituée : La jolie fille, il faut la séduire pour obtenir ce que l'on désire alors que la prostituée , il suffit de la payer, et surtout bien se protéger.

    sigpic

    Commentaire


    • #3
      effectivement, je crois avoir lu qu'ils étaient à 90K courant 2011... sinon je viens de tomber sur ce lien qui en présume 180K :

      http://gigaom.com/cleantech/facebook...stimated-180k/
      sigpic

      Cyprium Download Link

      Plus j'étudie plus j'me rends compte que je n'sais rien.

      †|

      Commentaire

      Chargement...
      X