Come posso configurare il plug-in RabbitMQ Shovel sul mio broker Amazon MQ?

5 minuti di lettura
0

Voglio spostare i messaggi da un broker locale a un broker Amazon MQ per RabbitMQ utilizzando il plug-in RabbitMQ Shovel. Come posso configurare il mio broker Amazon MQ per RabbitMQ in modo che funzioni con il plug-in RabbitMQ Shovel?

Breve descrizione

Per configurare il plug-in RabbitMQ Shovel su un broker Amazon MQ per RabbitMQ, devi creare uno shovel dinamico.

Per creare uno shovel dinamico per un broker Amazon MQ per RabbitMQ, puoi utilizzare uno dei seguenti metodi:

Risoluzione

Nota: la seguente procedura richiede due broker: un broker a monte (on-premise o basato su cloud) e un broker a valle (il broker Amazon MQ per RabbitMQ). È possibile configurare uno shovel dinamico su un broker a valle o a monte. Questa procedura di esempio mostra come creare uno shovel dinamico su un broker a valle.

Per creare uno shovel dinamico su un broker a valle utilizzando la console Web di RabbitMQ

Importante: assicurati di specificare lo Uniform Resource Identifier (URI) per le code che non sono presenti nel broker in cui viene creato lo shovel.

1.    Apri la console Amazon MQ.

2.    Nel pannello di navigazione a sinistra, scegli Brokers (Broker).

3.    Nella colonna Name (Nome), scegli il nome del broker a valle.

4.    Nel pannello Connections (Connessioni), seleziona l'URL elencato sotto la console Web di RabbitMQ. Si apre la pagina di accesso alla console Web di RabbitMQ per il broker a valle.

5.    Inserisci lo Username (nome utente) e la Password per il broker. Quindi, scegli Login (Accedi) per accedere alla console Web di RabbitMQ.

6.    Nella console Web di RabbitMQ, scegli la scheda Admin (Amministratore). Quindi, nel pannello di navigazione a destra, scegli Shovel Management (Gestione shovel).

7.    Scegli Add a new shovel (Aggiungi un nuovo shovel).

8.    Per Name (Nome), inserisci un nome per lo shovel.

9.    Per Source (Origine), seleziona AMQP 0.9.1 dall'elenco a discesa. Quindi, procedi come segue:
Nell'elenco a discesa a destra di URI, seleziona Queue (Coda).
Nella casella di testo sotto Queue (Coda), inserisci il nome della coda di origine del broker a monte.
Per URI, elimina il testo predefinito amqp:// e inserisci l'URI del broker a monte nel seguente formato:

amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671

10.    Per Destination (Destinazione), seleziona AMQP 0.9.1 dall'elenco a discesa. Quindi, procedi come segue:
Nell'elenco a discesa a destra di URI, seleziona Queue (Coda).
Nella casella di testo sotto Coda, inserisci il nome della coda di destinazione del broker a valle.
Per URI, elimina il testo predefinito amqp:// e inserisci l'URI del broker a valle nel seguente formato:

amqp://$DOWNSTREAM_BROKER_USER:$DOWNSTREAM_BROKER_PASSWORD@$DOWNSTREAM_BROKER_ENDPOINT:5671

11.    Scegli Add shovel (Aggiungi shovel).

Nota: se le code di origine e destinazione non esistono ancora, RabbitMQ le crea automaticamente.

Per creare uno shovel dinamico su un broker a valle utilizzando lo strumento a riga di comando di RabbitMQ

Importante: assicurati di specificare lo Uniform Resource Identifier (URI) per le code che non sono presenti nel broker in cui viene creato lo shovel.

Esegui il seguente comando curl:

curl -u $SHOVEL_BROKER_USER:$SHOVEL_BROKER_PASSWORD \
-X PUT https://$SHOVEL_BROKER_ENDPOINT/api/parameters/shovel/%2f/rmq-lab-shovel \
-H "content-type: application/json" \
-d '{"value": {"src-protocol": "amqp091","src-uri": "amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671","src-queue": "shovel-demo-src-queue","dest-protocol": "amqp091","dest-uri": "amqps://$DOWNSTREAM_BROKER_USER:$DOWNSTREAM_BROKER_PASSWORD@$DOWNSTREAM_BROKER_ENDPOINT:5671","dest-queue": "shovel-demo-dest-queue"}}'

Importante: sostituisci $SHOVEL_BROKER_USER e $SHOVEL_BROKER_PASSWORD con le credenziali del broker a valle. Sostituisci $SHOVEL_BROKER_ENDPOINT con l'endpoint del broker a valle. Sostituisci $UPSTREAM_BROKER_USER e $UPSTREAM_BROKER_PASSWORD con le credenziali del broker a monte. Sostituisci $UPSTREAM_BROKER_ENDPOINT con l'endpoint del broker a monte. Sostituisci $DOWNTREAM_BROKER_USER e $DOWNTREAM_BROKER_PASSWORD con le credenziali del broker a valle. Sostituisci $DOWNTREAM_BROKER_ENDPOINT con l'endpoint del broker a valle. Sostituisci $SOURCE_QUEUE_NAME con il nome della coda di origine nel broker a monte. Sostituisci $DESTINATION_QUEUE_NAME con il nome della coda di destinazione nel broker a valle.

Per testare la configurazione

Invia un messaggio di prova alla coda di origine del broker a monte

1.    Apri la console Web di RabbitMQ del broker a monte.

Nota: per ulteriori informazioni su come accedere alla console Web di RabbitMQ, consulta la sezione Management plugin ("Plug-in di gestione"), in lingua inglese, nella documentazione di RabbitMQ.

2.    Scegli la scheda Queues (Code). Quindi, seleziona il nome della coda di origine.

3.    Nel pannello di navigazione a sinistra, scegli Publish message (Pubblica messaggio). Si apre la sezione Publish message (Pubblica messaggio).

4.    Nella casella di testo Payload, inserisci un messaggio di prova.

Nota: è possibile lasciare vuote le caselle di testo Headers (Intestazioni) e Properties (Proprietà).

5.    Seleziona il pulsante Publish message (Pubblica messaggio). Il messaggio di prova viene inviato alla coda di origine. Se lo shovel dinamico è configurato correttamente, il messaggio viene consumato dallo shovel e inviato alla coda di destinazione del broker a valle.

Verifica che la coda di destinazione del broker a valle riceva il messaggio di prova

1.    Apri la console Web di RabbitMQ del broker a valle. Per istruzioni, consulta i passaggi 1-5 della sezione Per creare uno shovel dinamico su un broker a valle utilizzando la console Web di RabbitMQ di questo articolo.

2.    Scegli la scheda Queues (Code). Quindi, scegli il nome della coda di destinazione.

3.    Nel pannello di navigazione a sinistra, scegli Get messages (Ricevi messaggi). Si apre la sezione Get messages (Ricevi messaggi).

4.    Seleziona il pulsante Get messages (Ricevi messaggi). Se lo shovel dinamico è configurato correttamente, il messaggio di prova inviato alla coda di origine viene visualizzato come valore Payload.


Informazioni correlate

Migrazione di applicazioni basate su messaggi in Amazon MQ per RabbitMQ

Come posso configurare il plug-in RabbitMQ Federation sul mio broker Amazon MQ?

Shovel (workshop Amazon MQ)

Federazione (workshop Amazon MQ)

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa