Trotz des massiven Netzwerks und seiner vielen Dienste kann Netflix fast in Echtzeit seinen Traffic verfolgen - und das auch fast ohne Last.
Der Videostreaming-Anbieter Netflix berichtet in seinem Technology Blog von einer Anwendung, 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 untersucht Milliarden Log-Einträge seines TCP-Datenflusses "fast in Echtzeit".
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 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.
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.
Quelle; golem
Der Videostreaming-Anbieter Netflix berichtet in seinem Technology Blog von einer Anwendung, 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.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Netflix untersucht Milliarden Log-Einträge seines TCP-Datenflusses "fast in Echtzeit".
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 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.
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.
Quelle; golem