Login
Newsletter
Werbung

Di, 28. Oktober 2008, 08:50

Hardware

Facebook macht Scribe zu Open Source

Die Anbieter des Social Network-Portals Facebook haben die in Eigenregie entwickelte Serversoftware Scribe unter die Apache License 2.0 gestellt.

Scribe sammelt in Echtzeit Log-Daten von vielen Servern, angefangen von Accesslogs bis hin zu Statistiken der Performance. Es soll laut Facebook sehr skalierbar sein und sich ohne clientseitige Anpassungen erweitern lassen. Zudem laufe Scribe sehr robust und stecke Fehler vom Netzwerk oder einzelnen Maschinen ohne Weiteres weg.

Die Entscheidung, Scribe zu entwickeln, beruht auf der Vielzahl der bei Facebook eingesetzten Technologien und damit anfallenden Daten. Diese sollten zum einen einheitlich behandelt werden, zum anderen sollte Scribe mit Facebook wachsen können. Mittlerweile kann Scribe mit über 100 verschiedenen Anwendungen zusammenarbeiten und mehrere Milliarden Nachrichten pro Tag verkraften.

Um sich nicht in einer speziellen Netzwerk-Topologie einzuschließen, sind die Scribe-Server als gerichteter Graph organisiert, in dem jeder Server nur seinen Nachfolger kennt. Diese Anordnung soll sicherstellen, dass das System flexibel bleibt und Änderungen leicht eingepflegt werden können, sollte das System an seine Grenzen stoßen. Bei der Ausfallsicherheit hat sich Facebook für einen Mittelweg entschieden. So ist es wichtiger, schnell Daten sammeln zu können, als anspruchsvolle Protokolle oder Festplattentechnologien zu verwenden. Im Falle eines Crashs kann es so zum Verlust kleiner Datenmengen kommen.

Scribe verwendet ein eigenes Datenmodell, welches auf Dinge wie Logging-Ebenen, Timestaps, Reihenfolge der Nachrichten etc. verzichtet. Das für Scribe entwickelte Modell ist stattdessen extrem einfach gehalten. Ein Log-Eintrag, eine Meldung, kommt mit zwei Strings aus: einer Kategorie und der eigentlichen Nachricht. Der Kategorie lässt erahnen, worum es in der Mitteilung geht, die Nachricht selbst enthält die eigentlichen Logdaten.

Bei der Entwicklung von Scribe wurde Thrift verwendet, ein ebenfalls unter Open-Source-Lizenz stehendes und von Facebook entwickeltes Software-Framework für skalierbaren, sprachübergreifenden Entwicklungsservice. Thrift arbeitet gut mit C++, Java, PHP und Python zusammen und beschleunigte die Scribe-Entwicklung erheblich. Momentan lassen sich mit Scribe Meldungen der von Thrift unterstützten Sprachen loggen, wobei deren Anzahl dank weltweit beteiligter Entwickler ständig zunimmt.

Wer viele Daten zu loggen hat, kann sich Scribe herunterladen und für eigene Projekte einsetzen.

Werbung
Kommentare (Insgesamt: 6 || Alle anzeigen )
Re: ms (typ, Di, 28. Oktober 2008)
Re[2]: directed graph (directed graph, Di, 28. Oktober 2008)
Re: directed graph (Hyäne, Di, 28. Oktober 2008)
directed graph (directed graph, Di, 28. Oktober 2008)
Re: ms (..., Di, 28. Oktober 2008)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung