Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. RabbitMQ — Wikipédia
RabbitMQ — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
RabbitMQ
Description de l'image RabbitMQ logo.svg.
Description de l'image Grafana dashboard for MusicBrainz RabbitMQ screenshot.webp.
Informations
Développé par Jean-Sébastien Pédron (d), Michael Klishin (d), Hubert Plociniczak (d) et Matthias Radestock (d)Voir et modifier les données sur Wikidata
Dernière version 4.2.1 (17 novembre 2025)[1]Voir et modifier les données sur Wikidata
Dépôt github.com/rabbitmq/rabbitmq-serverVoir et modifier les données sur Wikidata
Écrit en ErlangVoir et modifier les données sur Wikidata
Système d'exploitation Multiplateforme (d)Voir et modifier les données sur Wikidata
Type Agent de messagesVoir et modifier les données sur Wikidata
Licence MPL-2.0Voir et modifier les données sur Wikidata
Site web www.rabbitmq.comVoir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide)

RabbitMQ est un logiciel d'agent de messages open source qui met en œuvre le protocole Advanced Message Queuing (AMQP), mais aussi avec des plugins Streaming Text Oriented Messaging Protocol (STOMP) et Message Queuing Telemetry Transport (MQTT). Le serveur RabbitMQ est écrit dans le langage de programmation Erlang.

Historique

[modifier | modifier le code]

RabbitMQ fut initialement développé par Rabbit Technologies Ltd., une société créée conjointement par LShift et CohesiveFT en 2007[2], avant d'être acquis en avril 2010 par SpringSource (en), une division de VMware[3].

En mai 2013, il incorpora Pivotal Software[4].

En 2018, il est utilisé dans plus de 35 000 entreprises[5].

Composants

[modifier | modifier le code]

Le projet est constitué de :

  • Un serveur d'échange RabbitMQ.
  • Des passerelles pour protocoles AMQP, HTTP, STOMP, et MQTT.
  • Des bibliothèques de client AMQP pour Java, .NET Framework, et Erlang (mais d'autres ont été développés par des tiers).
  • Une plateforme de module d'extension avec une collection prédéfinie, incluant :
    • "Shovel" : réplication de messages entre les agents de messages.
    • "Federation" : partage de messages entre les agents (au niveau exchange).
    • "Management" : surveillance et contrôle des agents et de leurs groupes.

Exemples d'utilisation

[modifier | modifier le code]

Python

[modifier | modifier le code]

Cette section propose des exemples de programmes écrits en Python pour l'envoi et la réception de messages à l'aide d'une file d'attente.

Envoi

[modifier | modifier le code]

Envoi d'un message dans une queue[6] :

#!/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()

Réception

[modifier | modifier le code]

Réception du message[6] :

#!/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()

PHP

[modifier | modifier le code]

Producteur

[modifier | modifier le code]

L'exemple suivant envoie un message JSON directement dans une queue, sans passer par un bus d'échange[7].

// Création d'une queue persistante où empiler les messages :
$channel->queue_declare('ma_queue_1', false, true, false, false);
// Création du message
$message = new AMQPMessage('Hello World!');
// Envoi du message dans la queue
$channel->basic_publish(json_encode($message), '', 'ma_queue_1');

Consommateur

[modifier | modifier le code]
// Fonction de traitement de chaque message
$callback = function ($message) {
  var_dump($message);
};
// Récupération du message de la queue (ce qui le supprime)
$channel->basic_consume('ma_queue_1', '', false, true, false, false, $callback);

Références

[modifier | modifier le code]
  1. ↑ « Release 4.2.1 », 17 novembre 2025 (consulté le 18 novembre 2025)
  2. ↑ « Launch of RabbitMQ Open Source Enterprise Messaging », Press release,‎ 8 février 2007 (lire en ligne, consulté le 23 octobre 2013)
  3. ↑ « Rabbit Technologies announce acquisition by SpringSource », Press release,‎ 13 avril 2010 (lire en ligne [archive du 18 avril 2010], consulté le 3 octobre 2013)
  4. ↑ « Proudly part of Pivotal », Press release,‎ 14 mai 2010 (lire en ligne [archive du 2 juin 2013], consulté le 3 octobre 2013)
  5. ↑ « Messaging that just works — RabbitMQ », sur www.rabbitmq.com
  6. ↑ a et b (en) « RabbitMQ - RabbitMQ tutorial - "Hello world!" », sur www.rabbitmq.com (consulté le 22 novembre 2017)
  7. ↑ « RabbitMQ tutorial - "Hello World!" — RabbitMQ », sur www.rabbitmq.com
  • icône décorative Portail de l’informatique
  • icône décorative Portail des logiciels libres
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=RabbitMQ&oldid=225056735 ».
Catégories :
  • Logiciel écrit en Erlang
  • Logiciel libre sous licence MPL
Catégories cachées :
  • Page utilisant P178
  • Page utilisant P348
  • Page utilisant P1324
  • Page utilisant P277
  • Logiciel catégorisé automatiquement par langage d'écriture
  • Page utilisant P306
  • Page utilisant P31
  • Page utilisant P275
  • Page utilisant P856
  • Article utilisant une Infobox
  • Article contenant un appel à traduction en anglais
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Logiciels libres/Articles liés
  • Portail:Logiciel/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id