Conector AMQP
Descripción General
Sección titulada «Descripción General»El conector AMQP habilita mensajería de publicación/suscripción a través de RabbitMQ y cualquier broker AMQP 0.9.1, con exchanges, colas y claves de enrutamiento.
Tipos de Conector:
AmqpReader- Consumir mensajes de una cola o vinculación a un exchangeAmqpWriter- Publicar mensajes en un exchange con una clave de enrutamiento
Lector AMQP
Sección titulada «Lector AMQP»Consumir mensajes de una cola existente:
{ "type": "AmqpReader", "config": { "url": "amqp://guest:guest@localhost:5672/", "queue": "sensor_events", "autoAck": false, "prefetchCount": 10, "consumerTag": "meddle-reader" }}Vincular a un Exchange
Sección titulada «Vincular a un Exchange»Cuando queue está vacío y exchange está definido, el lector declara una cola exclusiva temporal y la vincula al exchange usando routingKey:
{ "type": "AmqpReader", "config": { "url": "amqp://user:password@rabbit.example.com:5672/", "exchange": "factory.events", "routingKey": "line1.*.temperature", "autoAck": true }}Conexión TLS
Sección titulada «Conexión TLS»{ "type": "AmqpReader", "config": { "url": "amqps://user:password@rabbit.example.com:5671/", "queue": "secure_events", "tls": true, "autoAck": false }}Escritor AMQP
Sección titulada «Escritor AMQP»Publicar mensajes en un exchange:
{ "type": "AmqpWriter", "config": { "url": "amqp://guest:guest@localhost:5672/", "exchange": "factory.events", "routingKey": "line1.temperature", "mandatory": false, "contentType": "application/json" }}Publicar en el Exchange Por Defecto (Directamente a la Cola)
Sección titulada «Publicar en el Exchange Por Defecto (Directamente a la Cola)»Deja exchange vacío y usa el nombre de la cola como clave de enrutamiento:
{ "type": "AmqpWriter", "config": { "url": "amqp://guest:guest@localhost:5672/", "exchange": "", "routingKey": "sensor_events" }}Parámetros de Configuración
Sección titulada «Parámetros de Configuración»- url: URI de conexión AMQP (
amqp://user:pass@host:port/vhostoamqps://...) - exchange: Nombre del exchange (cadena vacía apunta al exchange por defecto)
- queue: Nombre de la cola de la que consumir (solo Lector)
- routingKey: Clave de enrutamiento o patrón de vinculación
- tls: Usar TLS para la conexión
- prefetchCount: (Lector) Máximo de mensajes sin confirmar en el canal
- autoAck: (Lector) Confirmar mensajes automáticamente al entregarlos
- consumerTag: (Lector) Identificador de consumidor proporcionado por el cliente
- mandatory: (Escritor) Devolver mensaje al publicador si no puede ser enrutado
- contentType: (Escritor) Tipo MIME para los mensajes publicados (por defecto:
application/json)
Modos de Confirmación
Sección titulada «Modos de Confirmación»- autoAck: true - El broker considera los mensajes entregados tan pronto como se envían. Más rápido, pero los mensajes pueden perderse si el consumidor cae.
- autoAck: false - Meddle confirma explícitamente cada mensaje exitoso y rechaza (nack) cuando hay errores en la carga. Úsalo con
prefetchCountpara limitar los mensajes en vuelo.
Patrones de Clave de Enrutamiento
Sección titulada «Patrones de Clave de Enrutamiento»Los exchanges de tipo topic admiten comodines en las claves de vinculación:
*coincide con exactamente una palabra:line1.*.temperature#coincide con cero o más palabras:factory.#