Démarrer avec rabbitmq
Installation de RabbitMQ sur le serveur Ubuntu
- Une note rapide avant d’installer RabbitMQ : les packages Erlang d’Ubuntu 14.04 ont des problèmes si vous utilisez SSL avec RabbitMQ, vous devrez donc installer une version plus récente que celle fournie par les responsables du package Ubuntu, utilisez donc les binaires à https : //www.erlang-solutions.com/resources/download.html, pour Erlang 17.0 ou supérieur.*
Ajoutez RabbitMQ à la liste des dépôts de packages :
echo 'deb http://www.rabbitmq.com/debian/ testing main' |
sudo tee /etc/apt/sources.list.d/rabbitmq.list
Et puis ajoutez la clé de signature :
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc |
sudo apt-key add -
Ensuite, mettez à jour et installez :
sudo apt-get update && sudo apt-get install rabbitmq-server
RabbitMQ ‘Hello World’
Ce code crée un producteur qui envoie deux messages à une file d’attente et un consommateur qui reçoit tous les messages de cette file d’attente.
Code pour producteur.py (en utilisant le client pika 0.10.0 Python):
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='queueName')
channel.basic_publish(exchange='',
routing_key='queueName',
body='Hello')
channel.basic_publish(exchange='',
routing_key='queueName',
body='World!')
print("Message sent")
connection.close()
Code pour consommateur.py :
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='queueName')
def callback(ch, method, properties, body):
print("Received message: %r" % body)
channel.basic_consume(callback,
queue='queueName',
no_ack=True)
print('Waiting for messages...')
channel.start_consuming()
La sortie est :
$ python receive.py
Waiting for messages...
Received message: 'Hello'
Received message: 'World!'
D’autres exemples sont disponibles dans le tutoriel RabbitMQ [page][1] pour d’autres langages.
[1] : https://www.rabbitmq.com/tutorials/tutorial-one-java.html