LinkedIn öffnet Projekt für Data Streaming

Das als Streaming Bridge oder zum Erfassen von Datenänderungen einsetzbare Tool Brooklin steht ab sofort quelloffen auf GitHub zur Verfügung.

In Pocket speichern vorlesen Druckansicht
LinkedIn öffnet Projekt für Data Streaming in nahezu Echtzeit
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Um Daten mit hoher Zuverlässigkeit und Skalierbarkeit über zahlreiche verschiedene Datenspeicher und Messaging-Systeme zu streamen, nutzt LinkedIn einen zustandslosen verteilten Service namens Brooklin. Das System ist bei dem sozialen Netzwerk bereits seit knapp drei Jahren im Einsatz – nun gibt LinkedIn das Projekt als Open Source frei.

Während LinkedIn das Tool überwiegend in Verbindung mit Datenspeichern wie Espresso, MySQL und Oracle sowie den Messaging-Systemen Kafka, Azure Event Hubs und AWS Kinesis einsetzt, lässt sich Brooklin über neue Consumer und Producer auch individuell an andere Quellen und Ziele anpassen. Dabei geht es vor allem um zwei Anwendungsszenarien: als Streaming Bridge oder zum Erfassen von Datenänderungen (Change-Data Capture).

LinkedIn nutzt Brooklin beispielsweise anstelle von Kafka MirrorMaker (KMM), um Logging- und Tracking-Daten sowie weitere Metriken über verschiedene Kafka-Cluster auch rechenzentrumsübergreifend zu spiegeln. Im Gegensatz zum KMM, der auf einen einzigen Cluster beschränkt ist, lässt sich mit Brooklin die Konfiguration für sämtliche Kafka-Cluster zentral verwalten. Darüber hinaus beherrscht das Tool auch den generellen Datentransfer zwischen Clustersystemen in verschiedenen Cloud-Diensten wie AWS Kinesis und Microsoft Azure.

Mehr Infos

Von 22. bis 24. Oktober 2019 organisieren heise Developer, iX und der dpunkt.verlag die mittlerweile sechste Auflage der data2day. Im Programm der Konferenz rund um Big Data, Data Science sowie maschinelles Lernen finden sich verschiedene Vorträge zum Themenkreis Stream Processing mit Apache Flink, Kafka & Co. Noch bis zum 30. August stehen Tickets zum Frühbucherpreis parat.

Um die in verschiedenen Datenbanken abgelegten Informationen über Jobs, Verbindungen oder Profildaten innerhalb des sozialen Netzwerks auf dem neuesten Stand zu halten, setzt LinkedIn Brooklin als sogenannte Change-Data Capture (CDC) ein. Dabei überträgt das Tool die Updates als Stream von Datenänderungen mit niedriger Latenz. Anwendungen, die über die Updates informiert werden möchten, müssen daher nicht ständig aufwendige Abfragen an sämtliche Datenbanken schicken, sondern erhalten die Updates automatisch nahezu in Echtzeit mit dem Brooklin-Stream. Nach Einschätzung der LinkedIn-Entwickler erlaubt diese Vorgehensweise außerdem, die Anwendungen unabhängig von den Datenbanken leichter skalieren zu können – Ausfallzeiten der Datenbanken lassen sich vermeiden.

Nearline Processing von Datenbank-Updates mit Brooklin.

(Bild: LinkedIn)

Weitere Informationen zu Brooklin finden sich einerseits in der Ankündigung zur Freigabe des Open-Source-Projekts sowie in einem vorangegangenen Blogbeitrag der LinkedIn-Ingenieure. Die erste nun quelloffen verfügbare Version von Brooklin bietet als wesentliche Funktion das Kafka-Mirroring. Unterstützung für weitere Quellen und Ziele soll in den nächsten Versionen folgen. Der Sourcecode steht im GitHub Repository zum Download zur Verfügung. (map)