RabbitMQ ist eine Open Source Message Broker Software, die das Advanced Message Queuing Protocol (AMQP) implementiert. Der RabbitMQ-Server ist in Erlang geschrieben. Die Software wird entwickelt und gepflegt von Rabbit Technologies Ltd, einem Zusammenschluss von LShift und Cohesive FT, die im April 2010 von SpringSource erworben wurde. SpringSource war eine Abteilung von VMware, die im April 2013 in ein neu gegründetes Joint Venture Unternehmen zwischen VMware, EMC Corporation und General Electric mit Namen Pivotal Software Inc. ausgegliedert wurde.[4]

RabbitMQ

RabbitMQ Logo
Basisdaten

Entwickler VMware
Aktuelle Version 3.13.1[1]
(29. März 2024)
Betriebssystem Plattformunabhängig
Programmiersprache Erlang[2]
Kategorie Advanced Message Queuing Protocol Message Oriented Middleware
Lizenz MPL-2.0[3]
www.rabbitmq.com

Beispiele Bearbeiten

Dieser Abschnitt zeigt Programmbeispiele in Python:

Senden Bearbeiten

Das folgende Programm baut eine Verbindung auf, stellt die Existenz der Empfänger-Warteschlange sicher, sendet die Nachricht und schließt die Verbindung:

#!/usr/bin/env python3
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()

Empfangen Bearbeiten

Entsprechend empfängt das folgende Programm Nachrichten aus der Warteschlange und gibt deren Inhalt auf dem Bildschirm aus:

#!/usr/bin/env python3
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
print(' [*] Waiting for messages. To exit press CTRL+C')
def callback(ch, method, properties, body):
    print(" [x] Received %r" % (body,))
channel.basic_consume(callback, queue='hello', no_ack=True)
channel.start_consuming()

Siehe auch Bearbeiten

Weblinks Bearbeiten

Einzelnachweise Bearbeiten