RabbitMQ
From Wikipedia, the free encyclopedia
Remove ads
RabbitMQ és un agent de missatges o broker de codi obert que implementa el protocol AMQP (acrònim d'Advanced Message Queuing Protocol). El servidor RabbitMQ està escrit amb el llenguatge de programació Erlang i construït amb l'entorn Open Telecom Platform. Les biblioteques RabbitMQ són disponibles per a la majoria de llenguatges de programació. RabbitMQ va ser creat per Rabbit Technologies Ltd. El 2010 aquesta companyia va ser adquirida per SpringSource, una divisió de VMware.[1][2][3]
Remove ads
Remove ads
Parts
El projecte RabbitMQ consta de diferents parts:
- El servidor d'intercanvi RabbitMQ.
- Passarel·les per als protocols HTTP, XMPP i STOMP.
- Biblioteques de clients per a Java i el framework .NET. (Biblioteques similars per a d'altres llenguatges també es troben disponibles).
- El plugin Shovel (pala) que s'encarrega de copiar (replicar) missatges des d'un corredor de missatges a d'altres.
Remove ads
Exemple
Aquesta secció presenta una mostra de programa escrita en Python per a enviar i rebre missatges emprant una cua :
Enviar
El següent codi estableix una connexió, assegura que la cua del recipient existeix, llavors envia un missatge i finalment tanca la connexió :
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='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()
Rebre
Igualment, el següent codi rep missatges de la cua i els visualitza a la pantalla :
#!/usr/bin/env python
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()
Remove ads
Vegeu també
- Agent de missatges
- Altres brokers : Apache ActiveMQ, Mosquitto, HornetQ
Referències
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads