Wie funktioniert Facebook? Die Schrauben und Muttern [Technologie erklärt]

Werbung

Werbung
Werbung

Social Networking ist die Kunst, sich mit denen zu verbinden, die gemeinsame Interessen teilen. Dein "Netzwerk" ist eine Gemeinschaft, die dich mit anderen vereint und viele Vorteile bietet. Die Vernetzung über Social-Media-Sites hat die Art und Weise, wie wir das Internet nutzen, revolutioniert und steht im Vordergrund dessen, was wir heute Web 2.0 nennen.

Facebook ist soziale Netzwerke. Seit etwa 6 Jahren "facen" sich die Leute gegenseitig und machen Facebook zum meistgenutzten sozialen Netzwerk mit über 350 Millionen Nutzern weltweit. Aber wie funktioniert Facebook?

In diesem Artikel werde ich die internen Abläufe von Facebook diskutieren, die die Architektur und die Frontend- / Backend-Infrastruktur des Unternehmens betreffen.

Wie funktioniert Facebook? "" Das Frontend

Facebook verwendet eine Vielzahl von Diensten, Tools und Programmiersprachen, um seine Kerninfrastruktur aufzubauen. Am Frontend betreiben ihre Server einen LAMP-Stack (Linux, Apache, MySQL und PHP) mit Memcache. Nicht ein Informatiker? Schauen wir uns genau an, was das bedeutet.

Linux und Apache

Wie funktioniert Facebook?

Dieser Teil ist ziemlich selbsterklärend. Linux ist ein Unix-ähnlicher Betriebssystemkern. Es ist Open Source, sehr anpassbar und gut für die Sicherheit. Facebook betreibt das Linux-Betriebssystem auf Apache HTTP-Servern. Apache ist ebenfalls kostenlos und ist der beliebteste Open-Source-Webserver im Einsatz.

MySQL

Wie funktioniert Facebook?

Für die Datenbank nutzt Facebook MySQL wegen seiner Geschwindigkeit und Zuverlässigkeit. MySQL wird hauptsächlich als Schlüssel-Wert-Speicher verwendet, da Daten zufällig auf eine große Menge logischer Instanzen verteilt sind. Diese logischen Instanzen sind über physische Knoten verteilt, und der Lastausgleich erfolgt auf der physischen Knotenebene.

Was die Anpassungen angeht, hat Facebook ein benutzerdefiniertes Partitionierungsschema entwickelt, bei dem allen Daten eine globale ID zugewiesen wird. Sie verfügen außerdem über ein benutzerdefiniertes Archivierungsschema, das darauf basiert, wie häufig und aktuell Daten auf Benutzerbasis sind. Die meisten Daten werden zufällig verteilt.

PHP

Wie funktioniert Facebook?

Facebook verwendet PHP, weil es eine gute Web-Programmiersprache mit umfangreicher Unterstützung und einer aktiven Entwickler-Community ist, und es ist gut für schnelle Iteration. PHP ist eine dynamisch typisierte / interpretierte Skriptsprache.

Memcache

wie funktioniert Facebook?

Memcache ist ein Speicher-Caching-System, das verwendet wird, um dynamische datenbankgestützte Websites (wie Facebook) zu beschleunigen, indem Daten und Objekte im RAM zwischengespeichert werden, um die Lesezeit zu reduzieren. Memcache ist Facebooks primäre Form des Caching und hilft, die Datenbanklast zu verringern.

Durch ein Caching-System kann Facebook so schnell sein, wie es beim Abruf Ihrer Daten ist. Wenn es nicht in die Datenbank gehen muss, holt es nur Ihre Daten aus dem Cache basierend auf Ihrer Benutzer-ID.

Nachteile gegenüber der Verwendung von LAMP

Facebook hat erkannt, dass es Nachteile bei der Verwendung des LAMP-Stacks gibt. Insbesondere ist PHP nicht unbedingt für große Websites optimiert und daher schwer skalierbar. Außerdem ist es nicht die am schnellsten ausführende Sprache und das Erweiterungsframework ist schwierig zu verwenden.

wie funktioniert Facebook?

Mike Schroepfer, Vice President of Engineering bei Facebook, hat kürzlich ein Interview bei EmTech @ MIT geführt. "Eine Website zu skalieren ist eine Herausforderung", sagte Schroepfer, "aber die Skalierung eines sozialen Netzwerks hat einzigartige Herausforderungen."

Er fügte hinzu, dass man im Gegensatz zu anderen Websites nicht einfach weitere Server hinzufügen könne, um das Problem zu lösen, da Facebook ein "riesiges zusammenhängendes Dataset" sei. Aufgrund der Benutzeraktivität entstehen ständig neue Verbindungen.

Facebook ist so schnell gewachsen, dass es oft Probleme mit Datenbankabfragen, Zwischenspeicherung und Speicherung von Daten gibt. Ihre Datenbank ist riesig und weitgehend komplex. Um dies zu erklären, hat Facebook eine Menge Open-Source-Projekte und Backend-Dienste gestartet.

Wie funktioniert Facebook? "" Das Backend

Die Backend-Dienste von Facebook sind in verschiedenen Programmiersprachen geschrieben, darunter C ++, Java, Python und Erlang. Ihre Philosophie für die Schaffung von Dienstleistungen ist wie folgt:

1. Erstellen Sie bei Bedarf einen Dienst

2. Erstellen Sie ein Framework / Toolset zur einfacheren Erstellung von Services

3. Verwenden Sie die richtige Programmiersprache für die Aufgabe

Eine Liste aller Open-Source-Entwicklungen von Facebook finden Sie hier. Ich werde einige der wichtigsten Tools erläutern, die Facebook entwickelt hat.

Sparsamkeit (Protokoll)

Wie funktioniert Facebook? Die Schrauben und Muttern [Technologie erklärt] 7 fb Sparsamkeit Thrift ist ein leichtgewichtiges Remote-Prozedur-Call-Framework für die Entwicklung skalierbarer sprachübergreifender Services. Thrift unterstützt C ++, PHP, Python, Perl, Java, Ruby, Erlang und andere. Es ist schnell, spart Entwicklungszeit und bietet eine Arbeitsteilung bei Hochleistungsservern und Anwendungen.

Schreiber (Protokollserver)

Scribe ist ein Server zum Sammeln von Protokolldaten, die in Echtzeit von vielen anderen Servern gestreamt werden. Es ist ein skalierbares Framework, das für die Protokollierung einer großen Datenmenge nützlich ist. Es ist auf Thrift gebaut.

Kassandra (Datenbank)

wie funktioniert Facebook?

Cassandra ist ein Datenbankverwaltungssystem, das für die Verarbeitung großer Datenmengen ausgelegt ist, die auf vielen Servern verteilt sind. Es aktiviert Facebooks Inbox Search-Funktion und bietet einen strukturierten Schlüssel-Wert-Speicher mit eventueller Konsistenz.

HipHop für PHP

HipHop für PHP ist ein Quellcodetransformer für PHP-Skriptcode und wurde erstellt, um Serverressourcen zu speichern. HipHop wandelt PHP-Quellcode in optimiertes C ++ um. Danach verwendet es g ++, um es zum Maschinencode zu kompilieren.

Fazit

Kurz gesagt, das ist Facebook. Dieser Artikel könnte ohne weiteres 37 Seiten länger sein, um die Frage "Wie funktioniert Facebook?" Zu beantworten. Ich denke, das wird ausreichen. Wenn man an all den Features und Innovationen vorbei schaut, ist die Grundidee hinter Facebook wirklich sehr einfach, "die Leute in Verbindung zu halten. Facebook erkennt die Stärke von Social Networking und ist ständig innovativ, um seinen Service zum Besten der Branche zu machen.

Fanden Sie diesen Artikel hilfreich? Hinterlassen Sie Ihre Gedanken, Kommentare und Ideen!

In this article