stringtranslate.com

ConejoMQ

RabbitMQ es un software de intermediación de mensajes de código abierto (a veces llamado middleware orientado a mensajes ) que originalmente implementó el Protocolo de cola de mensajes avanzado (AMQP) y desde entonces se ha ampliado con una arquitectura de complemento para admitir el Protocolo de mensajería orientada a texto en tiempo real (STOMP), el Transporte de telemetría MQ (MQTT) y otros protocolos. [1]

El servidor RabbitMQ está escrito en Erlang y se basa en el marco de trabajo Open Telecom Platform para la agrupación en clústeres y la conmutación por error. Las bibliotecas de cliente para interactuar con el agente están disponibles para todos los lenguajes de programación principales. El código fuente se publica bajo la licencia pública de Mozilla .

Desde noviembre de 2020, hay ofertas comerciales disponibles de RabbitMQ para soporte y funciones empresariales: "VMware RabbitMQ OVA", "VMware RabbitMQ" y "VMware RabbitMQ for Kubernetes" (diferentes niveles de funciones) [2] RabbitMQ de código abierto también está empaquetado por Bitnami [3] y comercialmente para Tanzu Application Service de VMware.

Historia

Originalmente desarrollado por Rabbit Technologies Ltd., que comenzó como una empresa conjunta entre LShift y CohesiveFT en 2007, [4] RabbitMQ fue adquirido en abril de 2010 por SpringSource , una división de VMware . [5] El proyecto pasó a formar parte de Pivotal Software en mayo de 2013. [6] Que luego fue adquirido nuevamente por VMWare en diciembre de 2019. [7]

El proyecto consiste en:

Ejemplos

Esta sección proporciona programas de muestra escritos en Python (usando el paquete pika ) para enviar y recibir mensajes usando una cola.

Envío

El siguiente fragmento de código establece una conexión, se asegura de que la cola de destinatarios exista, luego envía un mensaje y finalmente cierra la conexión.

#!/usr/bin/env python3 importa  pikaconexión  =  pika . BlockingConnection ( pika . ConnectionParameters ( host = "localhost" )) canal  =  conexión . canal () canal . queue_declare ( cola = "hola" ) canal . basic_publish ( exchange = "" ,  route_key = "hola" ,  cuerpo = "¡Hola mundo!" ) print ( "[x] Se envió '¡Hola mundo!'" ) conexión . close ()

Recepción

De manera similar, el siguiente programa recibe mensajes de la cola y los imprime en la pantalla: (Nota: este ejemplo no confirma la recepción del mensaje).

#!/usr/bin/env python3 importa  pikadef  callback ( ch ,  método ,  propiedades ,  cuerpo ):  print ( " [x] Recibido %r "  %  cuerpo )connection  =  pika . BlockingConnection ( pika . ConnectionParameters ( host = "localhost" )) channel  =  connection . channel () channel . queue_declare ( queue = "hello" ) print ( " [*] Esperando mensajes. Para salir, presione Ctrl+C" ) channel . basic_consume ( queue = "hello" ,  on_message_callback = callback ) channel . start_ducing ()

Calendario de fin de soporte[8]

Véase también

Referencias

  1. ^¿ Qué protocolos admite RabbitMQ?
  2. ^ "VMware RabbitMQ" . Consultado el 5 de mayo de 2023 .
  3. ^ "RabbitMQ". bitnami.com . Consultado el 8 de mayo de 2023 .
  4. ^ "Lanzamiento de RabbitMQ Open Source Enterprise Messaging" (PDF) . Nota de prensa . 8 de febrero de 2007 . Consultado el 23 de octubre de 2013 .
  5. ^ "Rabbit Technologies anuncia la adquisición por parte de SpringSource". Nota de prensa . 13 de abril de 2010. Archivado desde el original el 18 de abril de 2010 . Consultado el 3 de octubre de 2013 .
  6. ^ "Orgullosamente parte de Pivotal". Nota de prensa . 14 de mayo de 2010. Archivado desde el original el 2 de junio de 2013 . Consultado el 3 de octubre de 2013 .
  7. ^ "VMware completa la adquisición de Pivotal". VMware News and Stories . Consultado el 6 de abril de 2023 .
  8. ^ "Información de lanzamiento de RabbitMQ" . Consultado el 10 de junio de 2023 .

Lectura adicional

Enlaces externos