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

6 minuti di lettura
0

Voglio distribuire i messaggi da un broker on-premise a un broker Amazon MQ per RabbitMQ utilizzando il plug-in RabbitMQ Federation. Come posso configurare il mio broker Amazon MQ per RabbitMQ in modo che funzioni con il plug-in RabbitMQ Federation?

Breve descrizione

Per configurare il plug-in RabbitMQ Federation su un broker Amazon MQ per RabbitMQ, devi configurare quanto segue sul broker a valle:

  • Uno o più parametri federation-upstream che definiscono le connessioni federative alle code o agli scambi remoti.
  • Una policy RabbitMQ che consente la federazione di code o scambi remoti specifici.
  • Uno scambio con una nuova coda associata per ricevere messaggi.

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).

Crea uno o più parametri federation-upstream che definiscano le connessioni federative alle code o agli scambi remoti

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 Federation Upstreams (Parametri di federazione a monte).

7.    Scegli Add a new upstream (Aggiungi un nuovo parametro a monte).

8.    Per Name (Nome), inserisci un nome per il parametro a monte.

9.    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.    Scegli Add upstream (Aggiungi parametro a monte).

Crea una policy RabbitMQ che consenta la federazione di code o scambi remoti specifici

1.    Apri la console Web di RabbitMQ del broker a valle. Per istruzioni, consulta i passaggi 1-5 della sezione Per creare un parametro di federazione a monte utilizzando la console Web di RabbitMQ di questo articolo.

2.    Scegli la scheda Admin (Amministratore). Quindi, nel pannello di navigazione a destra, scegli Policies (Policy).

3.    Scegli Add/update a policy (Aggiungi/aggiorna una policy).

4.    Per Name (Nome), inserisci un nome per la policy.

5.    Per Pattern, inserisci un'espressione regolare che corrisponda alle code o ai nomi di scambio di cui vuoi permettere la federazione.

6.    Per Apply to (Applica a), seleziona Exchanges (Scambi) dall'elenco a discesa.

Nota: l'applicazione della policy agli scambi consente di applicare la policy solo agli scambi nel broker a valle.

7.    Per Priority (Priorità), inserisci il numero 1.

Nota: l'impostazione della priorità viene utilizzata per determinare quale policy deve essere applicata a uno scambio o a una coda se più policy hanno lo stesso nome. Specificando per l'impostazione della priorità il valore 1, le policy di default di Amazon MQ che hanno lo stesso nome non sovrascrivono la policy.

8.    Per Definition (Definizione), inserisci federation-upstream-set come chiave nella prima casella di testo, prima del segno =. Quindi, inserisci all come valore nella seconda casella di testo, a destra del segno =.

9.    Scegli Add/update policy (Aggiungi/aggiorna policy).

Crea uno scambio con una nuova coda associata per ricevere messaggi

1.    Apri la console Web di RabbitMQ del broker a valle. Per istruzioni, consulta i passaggi 1-5 della sezione Per creare un parametro di federazione a monte utilizzando la console Web di RabbitMQ di questo articolo.

2.    Scegli la scheda Queues (Code).

3.    In Add a new queue (Aggiungi una nuova coda), per Name (Nome), inserisci un nome per la nuova coda che riceve i messaggi.

4.    Scegli Add queue (Aggiungi coda).

5.    Scegli la scheda Exchanges (Scambi).

6.    In Add a new exchange (Aggiungi un nuovo scambio), per Name (Nome), inserisci l'espressione regolare che corrisponde al nome dello scambio utilizzato durante la creazione della policy RabbitMQ.

7.    Scegli Add exchange (Aggiungi scambio).

Nota: RabbitMQ crea automaticamente anche uno scambio sul broker a monte che ha lo stesso nome.

8.    Scegli la scheda Exchanges (Scambi).

9.    In All exchanges (Tutti gli scambi), scegli il nome del nuovo scambio che hai creato.

10.    In Bindings (Associazioni), per Add binding from this exchange (Aggiungi associazione da questo scambio), seleziona To queue (In coda) dall'elenco a discesa. Quindi, inserisci il nome della coda che hai creato.

11.    Per Routing key (Chiave di routing), inserisci un valore a tua scelta. I messaggi inviati allo scambio sul broker a monte utilizzando questo valore vengono inviati anche alla coda associata a questo scambio.

12.    Scegli Bind (Associa).

Per testare la configurazione

Invia un messaggio di prova allo scambio 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 Exchanges (Scambi). Quindi, seleziona il nome dello scambio 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 Routing key (Chiave di routing), inserisci il valore della chiave di routing che hai creato.

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

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

6.    Seleziona il pulsante Publish message (Pubblica messaggio). Il messaggio di prova viene inviato allo scambio di origine. Se il parametro di federazione è configurato correttamente, il messaggio viene inviato anche 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.

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 il parametro di federazione è configurato correttamente, il messaggio di prova inviato allo scambio di origine viene visualizzato come valore Payload.


Informazioni correlate

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

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa