RabbitMQ - Solution Message-Oriented Middleware
Utilisation
Configuration
La configuration de RabbitMQ peut s'effectuer par l'intermédiaire de deux fichiers :
- rabbitmq-env.conf
- rabbitmq.config
Fichier rabbitmq-env.conf
Le fichier rabbitmq-env.conf permet de définir les variables d'environnement de RabbitMQ, situé sous Linux à l'emplacement /etc/rabbitmq. C'est un script shell, qui surcharge les variables du script de démarrage de RabbitMQ. L'ordre de préférence du chargement de ces variables est :
- Environnement du système (définit avec export)
- Fichier rabbitmq-env.conf
- Script de démarrage de RabbitMQ (variables par défaut)
NODENAME=aurelia_node
Il y a beaucoup de variables configurables. Voici un tableau listant quelques unes de ces variables :
Variable | Description |
---|---|
RABBITMQ_NODE_IP_ADDRESS | Adresse IP du noeud. Par défaut une string vide pour correspondre à toutes les interfaces réseaux |
RABBITMQ_NODE_PORT | Port du noeud. Par défaut 5672. |
RABBITMQ_BASE | Répertoire contenant les répertoires de base de données et de log. Par défaut /var/lib/rabbitmq. |
RABBITMQ_MNESIA_BASE | Répertoire contenant les fichiers de la base données Mnesia, permettant de stocker les objets persistants du broker. Par défaut /var/lib/rabbitmq/mnesia. |
RABBITMQ_LOG_BASE | Répertoire contenant les fichiers de log générés par le broker. Par défaut /var/log/rabbitmq. |
Fichier rabbitmq.config
Le fichier rabbitmq.config permet de configurer les paramètres de l'application RabbitMQ, les services
Erlang (cluster) et les différents plugins installés. Il est placé, sous Linux, à l'emplacement /etc/rabbitmq,
soit le même répertoire que le fichier rabbitmq-env.conf.
Tout comme pour le premier fichier de configuration, il existe beaucoup de paramètres à configurer.
Voici, un exemple de configuration d'une liste de port écoutée par le broker RabbitMQ:
[
{rabbit, [{tcp_listeners, [5673,5674]}]}
].
Cette configuration indique au broker d'écouter sur les ports 5673 et 5674, en plus du port par défaut
5672.
Commandes
Pour utiliser le broker, il faut tout d'abord le démarrer. La commande permettant cette action est :
/sbin/service rabbitmq-server start
Il est aussi possible avec cette commande d'arrêter et de redémarrer le broker.
Pour manipuler le broker, il existe une autre commande qui est la commande rabbitmqctl. La structure
de la commande est la suivante :
rabbitmqctl [-n noeud] [-q] {commande} [options...]
Les différents arguments signifient :
- -n noeud : définit le nom du noeud (par défaut rabbit@server).
- -q : désactive le mode verbeux, n'affiche pas les messages d'information.
- commande : nom de la commande.
- options : paramètres de la commande.
Commande | Paramètres | Action | Exemple |
---|---|---|---|
status | Informations du noeud courant, comme les versions de RabbitMQ et de Erlang. | rabbitmqctl status | |
add-user | {nom} {password} | Créé un utilisateur. | rabbitmqctl add-user aurelia mypassword |
add_vhost | {chemin du virtual host} | Créé un nouveau virtual host. Il existe par défaut le virtual host "/". | rabbitmqctl add_vhost test |
set_permissions | [-p chemin du virtual host] {nom utilisateur} {pattern accès config} {pattern accès écriture} {pattern accès lecture} | Affecte des permissions à un utilisateur sur un virtual host (par défaut "/"). | rabbitmqctl set_permissions /test aurelia "^aurelia-.*" ".*" ".*" |
list_permissions | [-p chemin du virtual host] | Liste les utilisateurs ayant des droits d'accès sur le virtual host définit (par défaut "/") et leurs permissions sur les ressources du virtual host. | rabbitmqctl list_permissions /test |