RabbitMQ

RabbitMQ

RabbitMQ Logo
Basisdaten

EntwicklerPivotal Software
Aktuelle Version3.8.17[1]
(8. Juni 2021)
BetriebssystemPlattformunabhängig
ProgrammierspracheErlang[2]
KategorieAdvanced Message Queuing Protocol Message Oriented Middleware
LizenzMozilla Public License[3]
www.rabbitmq.com

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]

Beispiele

Dieser Abschnitt zeigt Programmbeispiele in Python:

Senden

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

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

Weblinks

Einzelnachweise

Auf dieser Seite verwendete Medien

RabbitMQ logo.svg
RabbitMQ logo