Zum Hauptinhalt Zur Navigation

eBPF: Netflix verfolgt TCP-Fluss fast in Echtzeit

Trotz des massiven Netzwerks und seiner vielen Dienste kann Netflix fast in Echtzeit seinen Traffic verfolgen - und das auch fast ohne Last.
/ Sebastian Grüner
6 Kommentare News folgen (öffnet im neuen Fenster)
Netflix untersucht Milliarden Log-Einträge seines TCP-Datenflusses "fast in Echtzeit". (Bild: Lucy Nicholson/Reuters)
Netflix untersucht Milliarden Log-Einträge seines TCP-Datenflusses "fast in Echtzeit". Bild: Lucy Nicholson/Reuters

Der Videostreaming-Anbieter Netflix berichtet in seinem Technology Blog von einer Anwendung(öffnet im neuen Fenster) , die es dem Unternehmen erlaubt, den "TCP-Fluss fast in Echtzeit" aufnehmen und verfolgen zu können. Dies geschehe zudem mit nur rund 1 Prozent mehr an CPU-Last und Speicherbedarf pro Instanz. In Anbetracht des extrem hohen Datenaufkommens von Netflix' Systemen ist das ein großer Vorteil.

Netflix selbst beschreibt seine Infrastruktur in dem Blogpost so: "Die Netflix-Softwareinfrastruktur ist ein großes verteiltes Ökosystem, das aus spezialisierten Funktionsebenen besteht, die auf den AWS- und Netflix-eigenen Diensten betrieben werden." Die Nutzung der verschiedenen Dienste führe dann zu Herausforderungen.

So sei es schwierig, zentral den Datenfluss einzelner Anwendungen nachzuverfolgen. Auch könnten die schnellen Änderungen dazu führen, dass einige Dienste nicht mehr miteinander kommunizieren können. Das Wachstum verschiedener Dienste und Teams führe ebenfalls zu einer starken Aufteilung, die Einblick erschwere. Ebenso werde es mit wachsender Netzwerkgröße schwer, Engpässe frühzeitig zu erkennen.

Kernel-Technik hilft

Bei all dem soll nun also der selbst erstellte Flow Exporter helfen. Die Technik basiert wiederum auf der Linux-Kernel-Technik der sogenannten TCP Tracepoints(öffnet im neuen Fenster) sowie einem Fluss-Log auf Basis von eBPF, das ebenfalls im Kernel umgesetzt ist. Für den Transport der Daten setzt Netflix auf GRPC, HTTPS und UDP. Den so umgesetzten direkten Einblick in den Paketverlauf auf einzelnen Diensten exportiert Netflix etwa in diverse Visualisierungswerkzeuge.

Reklame

Hohe Rabatte bei den Amazon Blitzangeboten

Blitzangebote bei Amazon entdecken (öffnet im neuen Fenster)

Darüber hinaus kommt ein sogenannter Flow Collector zum Einsatz, der diese Daten etwa mit dem Wechsel von IP-Adressen verknüpft. Laut Netflix können so direkt Metadaten einzelner Anwendungen mit deren exportiertem Datenfluss zusammengeführt werden. All das nutzt Netflix dann für mögliche Prognosen über die Netzwerkauslastung. Ebenso helfe dies beim Auftreten von Netzwerkproblemen. Das System von Netflix verarbeitet laut dem Blogpost nach einigen Iterationen inzwischen Milliarden an Log-Einträgen pro Stunde.


Relevante Themen