Proxygen: Facebook veröffentlicht eigenes HTTP-Framework
Das in C++ geschriebene Framework Proxygen von Facebook unterstützt HTTP/1 und SPDY, HTTP/2 soll folgen. Einen Ersatz für Apache oder Nginx bietet der Open-Source-Code trotz Server aber nicht.

Proxygen ist eine "Sammlung von C++-HTTP-Bibliotheken, einschließlich eines einfach zu nutzenden HTTP-Servers", schreibt Facebook in der Ankündigung des nun frei verfügbaren Projekts. Neben dem Standard HTTP/1 wird auch das von Google initiierte Protokoll SPDY in den Versionen 3.0 und 3.1 unterstützt. An einer Implementierung von HTTP/2 werde zudem aktiv gearbeitet.
Das Projekt begann als Reverse-Proxy-Load-Balancer mit einer besonders hohen Leistung. Von der ursprünglichen Fokussierung auf Proxy-Server rührt auch der Name. Proxygen entwickelte sich aber schnell weiter und der Code ist sehr stark in die bestehende Infrastruktur von Facebook integriert worden wie eben die Load-Balancer oder auch die Werkzeuge zur Netzwerküberwachung.
Viele Bestandteile des Codes werden auch von Facebook intern weiterverwendet, etwa für die mobile Infrastruktur oder auch für HHVM und Haystack. Darüber hinaus skaliert der Code besonders gut und die Eigenentwicklung erlaubt die notwendige Flexibilität, um Funktionen wie SPDY, Websockets, HTTP-Keepalive oder eigene Algorithmen schnell umzusetzen.
Genau diese Möglichkeiten sorgen aber auch dafür, dass Proxygen bekannte HTTP-Server wie Apache oder Nginx wohl nicht ersetzen kann, was es laut Facebook auch gar nicht soll. Während die beiden großen Serverprojekte ein sehr hohes Maß an Konfigurierbarkeit aufweisen, bietet das Framework von Facebook "vernünftige Standardeinstellungen" und sei vergleichsweise einfach in bestehen Anwendungen einzupflegen oder eben als Basis für neue Projekte zu verwenden.
Proxygen baut auf den ebenfalls von Facebook erstellten C++-Bibliotheken Thrift und Folly auf und verwendet unter anderem den Linux-Systemaufruf Epoll, um eine größere Effizienz zu erreichen. Details zur Architektur und eine Einführung in die Benutzung bietet die Github-Seite des Projekts, auf der der Code unter einer BSD-Lizenz zum Download zur Verfügung steht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed