Facebooks Rechenzentrum in Prineville
Facebooks Rechenzentrum in Prineville (Bild: Facebook)

1 Milliarde Nutzer Facebooks größte technische Errungenschaften

Welche Probleme mussten Facebooks Entwickler lösen, um das Wachstum auf mehr als 1 Milliarde aktive Nutzer zu bewerkstelligen, und was waren die daraus resultierenden größten technischen Errungenschaften? Andere, als die meisten denken, sagt Robert Johnson, der fünf Jahre lang Facebooks Infrastruktur-Software-Team leitete.

Anzeige

Facebooks Memcached- und MySQL-Cluster sei für ihn zwar die größte Leistung von Facebook, viele große Errungenschaften, die Facebooks Entwickler hervorgebracht hätten, hätten damit aber eher wenig zu tun, schreibt Robert Johnson, der fünf Jahre lang Facebooks Infrastruktur-Software-Team leitete, auf Quora. Als er Facebook vor einem Jahr verließ, waren in Facebooks Memcached-Cluster mehr als 1 Billion Objekte gespeichert, wobei der Cluster zum Teil mehr als 1 Milliarde Abfragen pro Sekunde abwickelte, von denen die meisten in unter 1 Millisekunde aus verteilten Rechenzentren, die über die ganze Welt verstreut sind, beantwortet wurden. Bereits 2008, als Facebook noch deutlich weniger als 100 Millionen Nutzer hatte, bestand der Memcached-Cluster bereits aus 800 Servern mit mehr als 28 TByte Speicher. Damit das in dieser Größenordnung funktioniert, waren diverse Änderungen notwendig, so manche auch am Linux-Kernel.

Johnson geht aber davon aus, dass dieser Cluster in Zukunft durch neue Technologie ersetzt wird, und zählt daher andere, nachhaltigere Entwicklungen zu Facebooks größten Errungenschaften. Denn Facebook ist angesichts seiner Größe an so mancher Stelle auf Probleme gestoßen, von denen bislang gar nichts bekannt war.

Konsistente Daten weltweit

Da Facebook eine Echtzeitapplikation ist, müssen Änderungen in einem Teil der Welt unmittelbar in allen Teilen der Welt zur Verfügung stehen. Facebook hat dazu unter anderem MySQL angepasst und einen Workaround entwickelt, der sicherstellt, dass Memcached auch dann weltweit korrekt aktualisiert wird, wenn bei der MySQL-Replikation Verzögerungen auftreten. Was sich nach einem kruden Hack anhöre, habe gut funktioniert, schreibt Johnson. Er weist aber darauf hin, dass das Setup heute deutlich komplizierter ist.

Einige nachhaltige Entwicklungen habe es auch im Netzwerkbereich gegeben. Bei Facebook setzen sich Seiten in aller Regel aus einer großen Zahl an Objekten zusammen, die von einem Server angefordert werden. Damit dabei die Netze nicht regelrecht verstopfen, werden bei Facebook schon die Anfragen verzögert. Das gilt insbesondere im Fall von Fehlern, denn in einem System wie dem von Facebook werden auch langsame und keine Antworten als Fehler betrachtet. Die normale Reaktion, eine weitere Anfrage hinterherzuschicken, wäre in diesem Fall aber kontraproduktiv, so Johnson, denn meist sei eine Überlastung der Grund für die Verzögerung. Schicke man dann noch mehr Anfragen, werde aus einem kleinen Problem schnell ein großes.

Weniger ist manchmal mehr

Das gilt auch dann, wenn Anfragen zufällig an einen von vielen Servern gesendet werden. Auch hier gilt: Kommt keine Antwort, ist es nicht unbedingt sinnvoll, die gleiche Anfrage an einen anderen Server zu senden. Ist ein einzelner Server ausgefallen, ist das die richtige Strategie, wenn die Antwort aber deshalb ausbleibt, weil die Hälfte der Server überlastet ist, hat man mit dieser Strategie gute Chancen, das ganze System zu Fall zu bringen.

Ganz wesentlich für Facebooks Erfolg seien zudem die Deployment-Infrastruktur und Monitoring: Facebook setzt hier auf viele kleine Änderungen. Statt mehrere Änderungen in einem Release zu sammeln, werden kleine Änderungen veröffentlicht, gegebenenfalls nur auf einem Teil der Server oder nur für wenige Nutzer. Anschließend werden die Auswirkungen der Änderungen überwacht, um die Folgen von Fehlern gering zu halten.

So manche Software, die Facebook dabei entwickelt hat, steht mittlerweile als Open Source zur Verfügung und kommt auch bei vielen anderen zum Einsatz. Dazu zählen Programme im Hadoop-Umfeld wie Hive und HBase ebenso wie die verteilte NoSQL-Datenbank Cassandra, die mittlerweile von der Apache Software Foundation weiterentwickelt wird. Gleiches gilt für die Schnittstelle Thrift. Für Linux wurde mit Flashcache ein Block-Cache entwickelt, der SSDs als Cache unterhalb des Dateisystems zur Verfügung stellt. Auch der Log-Aggregator Scribe und der PHP-Compiler Hiphop entstanden bei Facebook. Eine Übersicht über alle Open-Source-Projekte von Facebook findet sich unter developers.facebook.com/opensource.


Neuro-Chef 02. Feb 2013

Pfff, die Kombination kriegt man mit hoher Chance ja schon mit dem reinen Installieren...

Hu5eL 01. Feb 2013

Kannte ich noch nicht :D

Suckerpunch 30. Jan 2013

war es nicht irgendwas mit in den letzten 30 tagen eingeloggt ?

gutschilla 30. Jan 2013

Nun, ACID-konforme Transaktionen und Rollbacks kann mySQL mit dem InnoDB-Backend seit...

Casandro 30. Jan 2013

Naja, damals hat man irre viel in Glasfaserfernleitungen investiert. Vermutlich mehr als...

Kommentieren


Bitpage.de - Der Technikblog / 29. Jan 2013

Facebook Stasi-Funktion "Gesehen von" ausschalten



Anzeige

  1. Teamleiter (m/w) Softwareentwicklung -Windows Systeme
    TeamViewer GmbH, Göppingen
  2. SAP Functional Support FI CO (m/w)
    Faurecia Autositze GmbH, Stadthagen bei Hannover
  3. 2nd-level-Support-Mitarbeiter / -Mitarbeiterin - Hosting Communication
    BRVZ Bau- Rechen- und Verwaltungszentrum GmbH & Co. KG, Köln
  4. (Senior) Penetration Tester (m/w) für Cyber Security Beratung
    über Hanseatisches Personalkontor Berlin, Home-Office

Detailsuche


Blu-ray-Angebote
  1. Warrior [Blu-ray]
    5,99€
  2. NEU: Blu-rays je 6,97 EUR oder günstiger
    (u. a. Bad Country, Nirgendwo in Afrika, Elvis Presley, The Breed)
  3. NEU: Serien bis zu 40% reduziert
    (u. a. Vikings 1. Season 14,97€, Homeland 3. Season 17,97€, Fargo 1. Season 24,97€, American...

Weitere Angebote


Folgen Sie uns
       


  1. Me Pro im Hands on

    Gigasets Einstieg in den Smartphone-Markt

  2. iOS

    Jailbreak-Malware greift 225.000 Nutzerdaten ab

  3. Wettbewerbszentrale

    Abmahnung für Zalando wegen vorgetäuschter Knappheit

  4. Nextbit Robin angeschaut

    Das Smartphone mit der intelligenten Cloud

  5. Netzneutralität

    Bund will Spezialdienste für autonome Autos - egal wozu

  6. Streaming

    Amazon-Prime-Inhalte jetzt für alle herunterladbar

  7. Epic Games

    Unreal Engine 4.9 mit mehr Grafikeffekten auf Mobilegeräten

  8. Hypervisor

    OpenBSD bekommt native Virtualisierung

  9. Streamingbox

    Amazon bereitet wohl neues Fire TV vor

  10. Elliptische Umlaufbahn

    Galileo-Satelliten werden für die Forschung eingesetzt



Haben wir etwas übersehen?

E-Mail an news@golem.de



Uberchord ausprobiert: Besser spielen statt Highscore jagen
Uberchord ausprobiert
Besser spielen statt Highscore jagen
  1. Generationen-Fernsehen Sony-Lautsprecher ist zugleich Fernbedienung fürs TV
  2. Satellit Neuer 4K-Demokanal bei SES Astra
  3. DAB+ WDR schaltet seine Mittelwellensender ab

Open Source: Sticken! Echt jetzt?
Open Source
Sticken! Echt jetzt?
  1. München CSU-Stadträte wettern über Limux
  2. Guadec15 "Beiträge zu freier Software sind zu schwer"
  3. Guadec15 "Open-Source-Software braucht Markenrechte"

Autonomes Fahren: Auf dem Highway ist das Lenkrad los
Autonomes Fahren
Auf dem Highway ist das Lenkrad los
  1. Fixie Radfahrer irritiert autonomes Google-Auto
  2. Autonome Autos Daimler würde mit Google oder Apple kooperieren
  3. Testbetrieb Öffentliche Straßen für autonom fahrende Lkw freigegeben

  1. Re: darauf hat die Welt gewartet...

    bplhkp | 22:11

  2. Re: Nicht nur "Autonome" sondern auch biologische...

    ArcherV | 22:07

  3. Re: Exakte Zahlen statt "mehr als 3"

    crazypsycho | 22:06

  4. Re: Wer schaut Filme aufm Handy ?

    ArcherV | 22:03

  5. Re: USA der Weltagressor

    Prinzeumel | 22:01


  1. 18:29

  2. 17:52

  3. 17:08

  4. 16:00

  5. 15:57

  6. 15:40

  7. 15:25

  8. 13:28


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel