Comment fonctionne Facebook? The Nuts and Bolts [La technologie expliquée]

  • Lesley Fowler
  • 0
  • 1495
  • 305
Publicité

Le réseautage social est l'art de se connecter avec ceux qui partagent des intérêts communs. Votre “˜network 'est une communauté qui vous permet de rester unis aux autres et offre de nombreux avantages. La mise en réseau via des sites de médias sociaux a révolutionné notre utilisation d'Internet et est à la pointe de ce que nous appelons maintenant le Web 2.0..

Facebook est réseaux sociaux. Les gens ont été “facebooking”?? depuis environ 6 ans maintenant, faisant de Facebook le réseau social le plus utilisé avec plus de 350 millions d'utilisateurs dans le monde. Mais comment fonctionne Facebook?

Dans cet article, je discuterai du fonctionnement interne de Facebook, couvrant son architecture et son infrastructure frontend / backend.””les écrous et les boulons qui maintiennent Facebook ensemble.

Comment fonctionne Facebook?””Le front end

Facebook utilise une variété de services, d'outils et de langages de programmation pour constituer son infrastructure principale. Au premier plan, leurs serveurs exécutent une pile LAMP (Linux, Apache, MySQL et PHP) avec Memcache. Pas un expert en informatique? Jetons un coup d'oeil à ce que cela signifie.

Linux et Apache

Cette partie est assez explicite. Linux est un noyau de système d'exploitation de type Unix. Il est open source, très personnalisable et bon pour la sécurité. Facebook exécute le système d'exploitation Linux sur les serveurs HTTP Apache. Apache est également gratuit et est le serveur Web open source le plus populaire utilisé.

MySQL

Pour la base de données, Facebook utilise MySQL en raison de sa rapidité et de sa fiabilité. MySQL est principalement utilisé comme magasin de valeurs-clés car les données sont réparties de manière aléatoire entre un grand nombre d'instances logiques. Ces instances logiques sont réparties sur des nœuds physiques et l’équilibrage de la charge est effectué au niveau du nœud physique..

En ce qui concerne les personnalisations, Facebook a développé un schéma de partitionnement personnalisé dans lequel un ID global est attribué à toutes les données. Ils ont également un schéma d'archivage personnalisé basé sur la fréquence et la fréquence des données récentes, utilisateur par utilisateur. La plupart des données sont distribuées au hasard.

PHP

Facebook utilise PHP car il s'agit d'un bon langage de programmation Web bénéficiant d'une assistance étendue et d'une communauté de développeurs active. Il convient également pour une itération rapide. PHP est un langage de script dynamiquement typé / interprété.

Memcache

Memcache est un système de mise en cache de la mémoire utilisé pour accélérer les sites Web dynamiques basés sur les bases de données (comme Facebook) en mettant en cache des données et des objets dans la RAM afin de réduire le temps de lecture. Memcache est la principale forme de mise en cache de Facebook et contribue à réduire la charge de la base de données..

Avoir un système de cache permet à Facebook d’être aussi rapide que de rappeler vos données. S'il ne doit pas nécessairement aller dans la base de données, il récupérera simplement vos données dans le cache en fonction de votre ID utilisateur..

Inconvénients de l'utilisation de la lampe

Facebook a compris qu'il y avait des inconvénients à utiliser la pile LAMP. Notamment, PHP n'est pas nécessairement optimisé pour les grands sites Web et donc difficile à faire évoluer. En outre, ce n'est pas le langage d'exécution le plus rapide et le framework d'extension est difficile à utiliser.

Mike Schroepfer, vice-président de l’ingénierie de Facebook, a récemment accordé une interview à EmTech @ MIT concernant cette. “Faire évoluer un site Web est un défi,” Schroepfer a dit, “mais la mise à l'échelle d'un réseau social présente des défis uniques.”

Il a poursuivi en affirmant que contrairement à d'autres sites Web, vous ne pouvez pas simplement ajouter plus de serveurs pour résoudre le problème, à cause de Facebook “énorme jeu de données interconnecté.” De nouvelles connexions sont créées en permanence en raison de l'activité de l'utilisateur.

Facebook s'est développé si rapidement qu'il est souvent confronté à des problèmes de requêtes de bases de données, de mise en cache et de stockage de données. Leur base de données est énorme et en grande partie complexe. Pour en tenir compte, Facebook a lancé de nombreux projets open source et services d’arrière-plan..

Comment fonctionne Facebook?””Le dos

Les services backend de Facebook sont écrits dans différents langages de programmation, notamment C ++, Java, Python et Erlang. Leur philosophie pour la création de services est la suivante:

1. Créer un service si besoin

2. Créer un cadre / ensemble d'outils pour faciliter la création de services

3. Utilisez le bon langage de programmation pour la tâche

Une liste de tous les développements open source de Facebook est disponible ici. Je vais discuter de quelques-uns des outils essentiels développés par Facebook..

Thrift (protocole)

Thrift est une structure légère d’appels de procédures distantes pour le développement de services multilingues et évolutifs. Thrift prend en charge les langages C ++, PHP, Python, Perl, Java, Ruby, Erlang et autres. C'est rapide, économise du temps de développement et fournit une division du travail sur des serveurs et des applications hautes performances..

Scribe (serveur de journal)

Scribe est un serveur permettant d'agréger les données de journal diffusées en temps réel à partir de nombreux autres serveurs. C'est un cadre évolutif utile pour la journalisation d'un large éventail de données. Il est construit sur Thrift.

Cassandra (base de données)

Cassandra est un système de gestion de base de données conçu pour gérer de grandes quantités de données réparties sur de nombreux serveurs. Il optimise la fonctionnalité de recherche dans la boîte de réception de Facebook et fournit un magasin structuré de valeurs clés avec une cohérence éventuelle.

HipHop pour PHP

HipHop for PHP est un transformateur de code source pour le code de script PHP et a été créé pour économiser les ressources du serveur. HipHop transforme le code source PHP en C ++ optimisé. Après cela, il utilise g ++ pour le compiler en code machine.

Conclusion

En un mot, c'est Facebook. Cet article pourrait facilement avoir 37 pages de plus si je devais entrer plus en détail, mais pour répondre à la question “Comment fonctionne Facebook?”?? Je pense que cela suffira. Si vous regardez au-delà de toutes les fonctionnalités et innovations, l'idée principale de Facebook est vraiment très basique.””garder les gens connectés. Facebook réalise le pouvoir des réseaux sociaux et innove constamment pour que ses services restent les meilleurs du marché..

Avez-vous trouvé cet article utile? Laissez vos pensées, commentaires et idées ci-dessous!




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.