Twitter stellt echtzeitfähige Analyse-Plattform Heron vor

Da sich die Anforderungen an Twitters Analysesystem seit der Veröffentlichung des Storm-Projekts geändert haben, hat das Entwicklerteam des Diensts ein zu dessen API kompatibles neues System aufgebaut.

 –  2 Kommentare
Twitter stellt Analyse-Plattform Heron vor

Im Rahmen der derzeit tagenden SIGMOD International Conference on Management of Data hat der Microblogging-Dienst Twitter sein Projekt Heron vorgestellt. Es handelt sich dabei um eine echtzeitfähige Analyseplattform, die kompatibel zur API des zuvor eingesetzten Apache Storm ist. Twitter hatte Storm 2013 in den Incubator der Apache Foundation übergeben, nachdem es das Analyseunternehmen BackType 2011 übernommen und kurz darauf die Quellen dessen Projekts geöffnet hatte.

Nicht zuletzt durch den Ausbau des Diensts steigen die Anforderungen an Twitter stetig weiter, sodass eine Erweiterung von Storm, der Umstieg auf ein neues Projekt oder eine Neuentwicklung nötig geworden war. Gegen die Erweiterung von Storm sprach wohl die Tatsache, dass man für einige der neuen Bedürfnisse die Architektur des Kerns hätte ändern müssen, was anscheinend deutlich längere Entwicklungszyklen zur Folge gehabt hätte. Alternative Projekte hingegen schieden laut dem an der Entwicklung beteiligten Karthik Ramasamy aufgrund zu geringem Durchsatz oder zu hoher Latenz aus. Außerdem waren sie nicht zur Programmierschnittstelle von Storm kompatibel, was beim Umstieg einen langen Migrationsprozess zur Folge gehabt hätte.

Als Vorgabe für Heron listet Ramasamy neben der API-Kompatibilität unter anderem auch die Fähigkeit, mehrere Milliarden Events pro Minute verarbeiten zu können, Latenzen unter einer Sekunde, vorhersagbares Verhalten beim Skalieren, hohe Datengenauigkeit und einfaches Deployment in der verteilten Infrastruktur auf. Außerdem sollte das neue Projekt leicht zu debuggen sein. Beim Einsatz der Heron-Plattform erzeugen Nutzer mit der Storm-API Topologien und geben sie an einen Scheduler weiter, der sie dann als Job aus mehreren Containern ausführt.

Einer der Container ist als Topology Master für die Verwaltung der Topologie verantwortlich, während die anderen jeweils einen Stream Manager für das Routen der Daten, einen Metrics Manager zum Sammeln und weitergeben verschiedener Messgrößen sowie eine Reihe von Prozessen laufen lassen. Letztere werden als Heron-Instanzen bezeichnet und sind wiederum für das Ausführen des benutzerspezifischen Spout- oder Bolt-Codes verantwortlich. Der Scheduler plant die Container gemäß der verfügbaren Ressourcen im Cluster ein. Metadaten wie Details zur Ausführung der Topologie sind in ZooKeeper hinterlegt.

Die Architektur einer Topologie setzt sich aus verschiedenen Containern zusammen.

Erste Messungen des Unternehmens haben wohl gezeigt, dass Heron im Gegensatz zu Storm einen 10- bis 14-mal höheren Durchsatz und eine 5- bis 10-mal niedrigere Latenz aufweisen kann. Außerdem soll es so sparsam mit den verfügbaren Ressourcen umgehen, dass nach der Migration deutlich weniger Hardware nötig war. Bisher sind nur technische Informationen in Form des Konferenz-Papers zu Heron freigegeben. Allerdings soll das laut Ramasamy nur der erste Schritt zur Zusammenarbeit mit der Storm-Community und anderen Projekten sein. (jul)