RabbitMQ 3.0.0 ermöglicht Messaging mit WebSockets

Hartmut Schlosser

Der quelloffene Message Broker RabbitMQ ist in Version 3.0.0 erschienen. Dabei wurde das Feature-Set um einige interessante Punkte erweitert. Die neue Version führt eine dynamische, Policy-basierte Kontroll-Möglichkeit über Mirror-Erstellung und Federation ein, bietet Support für Per-Message TTL und erhöht die Bedienbarkeit bei der Cluster-Verwaltung.

Neu sind auch die Plug-ins für web-STOMP und MQTT. Das Web-Stomp-Plug-in soll es ermöglichen, RabbitMQ in Web-Browsern zu bedienen. Dafür wird das Text-Messaging Protocol Stomp über einen SockJS Server exponiert. Zur Verfügung gestellt wird dadurch ein WebSocket-Objekt, das in jedem Browser genutzt werden kann – auch in solchen, die noch keinen WebSocket-Support umgesetzt haben. Über das SockJS Protocol kann man dann auf den SockJS Endpoint zugreifen.

Der Adapter für das MQ Telemetry Transport (MQTT 3.1) Protokoll ermöglicht die Übertragung von Sensor-Daten, etwa aus Smartphones und Tablets. Dabei soll die geringe Bandbreite und die instabile Internetverbindung solcher Geräte berücksichtigt werden.

RabbitMQ ist eine Open Source Message-Broker-Software, die das Advanced Message Queuing Protocol (AMQP) implementiert. Mit Hilfe dieser Middleware soll das Zusammenspiel von Komponenten einer Ereignis-getriebenen Architektur über verschiedene Plattformen hinweg einfacher werden. Das von VMware vorangetriebene Projekt stellt eine Option zum klassischen JMS-Ansatz dar. RabbitMQ wird Open Source entwickelt und bietet Clients für viele gängige Programmiersprachen, darunter Java, Ruby, Python, PHP, .NET und C/C++.

Einen guten Einstieg in das Thema Messaging mit RabbitMQ bietet der Artikel „RabbitMQ mit CDI integrieren“ von Christian Bick. Auf der W-JAX sprach Eberhard Wolff über Messaging in Java. Im Interview mit Redakteurin Diana Kupfer erklärt er, welches Messaging-System in welchem Szenario das richtige ist.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.