Message Queues mit AMQP und Node.js

Fazit

Es existieren unterschiedliche Module, um eine AMQP-basierte Message Queue wie beispielsweise RabbitMQ aus Node.js heraus anzusprechen und Producer und Consumer zu implementieren. Als in Bezug auf AMQP am weitesten verbreitete Option bietet sich hierfür node-amqp an. Das Modul fällt allerdings durch schlechte Dokumentation und einen veralteten öffentlichen Stand auf. Deshalb ist es zwingend erforderlich, mit einer aktuellen Variante aus dem master-Branch von GitHub zu arbeiten.

Leider ist auch die API nicht konsistent, da teilweise Callbacks, teilweise Ereignisse zum Einsatz kommen. All das erschwert die Einarbeitung in node-amqp unnötig. Hat man die Hürden allerdings einmal umschifft, lassen sich verlässliche Anwendungen entwickeln, die in einer verteilten Architektur unabhängig und entkoppelt voneinander arbeiten können.

Alternativ zu node-amqp wirkt das Modul amqplib vielversprechend – zumindest macht es einen weitaus aufgeräumteren und gepflegteren Eindruck. Allerdings mangelt es zumindest bislang noch an der Verbreitung, was sich insbesondere in der Welt von Node.js allerdings rasch ändern kann. Es bleibt daher abzuwarten, wie sich beide Module in den nächsten Monaten weiterentwickeln. (jul)

Golo Roden
ist Gründer der "the native web UG", eines auf native Webtechniken spezialisierten Unternehmens. Für die Entwicklung moderner Webanwendungen bevorzugt er JavaScript und Node.js und hat mit "Node.js & Co." das erste deutschsprachige Buch zum Thema geschrieben.