© Excellent backgrounds/Shutterstock.com
Message-oriented Middleware in der Big-Data-Welt

Nachrichtenverarbeitung und Big Data


Das asynchrone und über mehrere Systeme verteilte Verarbeiten von Daten existiert schon seit den 80er Jahren. Die Anwendungsbeispiele für Message Services sind sehr unterschiedlich, um nicht zu sagen phantasievoll. Dank Flexibilität und relativ einfach zu realisierender Ausfallsicherheit eines solchen Systems gehört die Message-oriented Middleware (kurz MOM) zu den Grundtechnologien in der Big-Data-Welt.

Wenn die Entscheidung für eine Message-oriented Mid­dleware getroffen wird, steht meist Businesslogik im Vordergrund. Dazu gehört z. B. die Interaktion mit Menschen (Antragsverarbeitung) oder anderen asynchron funktionierenden Maschinen (E-Mail-Versand). Ein weiterer wichtiger Grund ist die Ausfallsicherheit. Man könnte eine einfachere, nicht ausfallsichere Umgebung in die Architektur mit aufnehmen, wenn man weiß, dass sich die Nachrichten bis auf Weiteres ansammeln und warten, solange der eine oder andere Knoten außer Betrieb ist. In der Vergangenheit war es wegen höherer Investitionskosten etwas problematisch, eine eigene ausfallsichere MOM-Infrastruktur aufzubauen. Umso wertvoller sind die auf dem Markt etablierten Cloud-Lösungen wie Amazon Web Service (kurz AWS). Amazon bietet eine Cloud-basierte MOM unter dem Namen Simple Queue Service (SQS) [1] und Simple Notification Service (SNS) an.

Ich werde keine weiteren Einzelheiten oder Vor- und Nachteile der AWS-Infrastruktur in diesem Artikel ausführen. Dazu findet man Informationen in der Literatur und im Netz. Stattessen konzentriere ich mich auf die Umsetzung der Datenverarbeitung auf der Ebene der Java-Softwareentwicklung.

Nachrichtenserialisierung

Unabhängig von der absoluten Menge an Nachrichten pro Sekunde stehen in Big Data mehr Nachrichten bereit, als eine einzelne Rechnereinheit in der Lage ist, abzuarbeiten. Eine Optimierung der Verarbeitung wirkt dadurch direkt auf die Kosten, da wenige Maschinen gemietet werden müssen.

Zu Zeiten eines der letzten Hypes – Service-oriented Architecture (SOA) – haben viele Architekten zu ihrer großen Enttäuschung festgestellt, dass eine nach diesem Prinzip entwickelte Software überraschend hohe Prozessorauslastung und niedrige Performance hat, und zwar auch dann, wenn die Businesslogik sich auf banale arithmetische Operationen beschränkt. Schuld daran waren die zahlreichen Parser in den Kommunikationsschnittstellen, Regelwerken und anderen Komponenten mit höherem Abstraktionslevel.

In einer Big-Data-Umwelt, wo nach MapReduce-Verfahren das Vielfache von Daten ge...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang