Facebook stellt in C++ geschriebenes HTTP-Framework unter Open-Source-Lizenz

Proxygen ist ein C++-HTTP-Framework mit sinnvollen Standardeinstellungen, das sowohl Server- als auch Client-Code enthält und sich einfach in bestehende Anwendungen integrieren lassen soll.

In Pocket speichern vorlesen Druckansicht 51 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Alexander Neumann

Facebook gehört zu den größten Förderern von Open-Source-Software, regelmäßig übergibt das soziale Netz Eigenentwicklungen an die Open-Source-Gemeinde. Das jüngste Projekt ist hier mit Proxygen ein in C++ geschriebenes HTTP-Framework, das unter anderem einen Webserver enthält, der bei Facebook als Ersatz für die Webserver Apache und Nginx zum Einsatz kommt. Proxygen steht ab sofort unter einer "3-clause-BSD"-Lizenz, die wiederum kompatibel mit der GNU GPL ist.

Mit der seit 2011 entwickelten Software hat Facebook offenbar schon etliche HTTP-Server, -Proxies und -Clients gebaut. Proxygen stützt sich auf eine Reihe anderer, von Facebook initiierter Open-Source-Bibliotheken, darunter die C++-Bibliothek Folly und die Code-Generierungs-Engine Apache Thrift. Es unterstützt gegenwärtig HTTP 1.1 und SPDY 3/3.1, der Support für HTTP 2.0 ist in Arbeit, zumal SPDY mittlerweile die Basis für den nächsten HTTP-Standard stellt. Langfristiges Ziel des Projekts ist es, mit Proxygen eine einfach zu bedienende und performante C++-HTTP-Bibliothek zur Verfügung zu stellen.

Bei Facebook wird das Framework mit Ubuntu genutzt, die Portierung in Richtung anderer Betriebssysteme sollte aber möglich sein. In einem Testbericht zeigt Facebook, wie ein einzelner 32-Core-Server dank Proxygen 267.000 HTTP-Anfragen pro Sekunde oder bis zu 304.000 SPDY-Anfragen pro Sekunde verarbeiten konnte. Den Sourcecode finden Interessierte auf der Code-Hosting-Plattform GitHub. (ane)