Questo tutorial illustra come impostare un sistema di messaggistica asincrono con Amazon Simple Queue Service (Amazon SQS). Amazon SQS è un servizio AWS che consente ai componenti di applicazioni di comunicare con il cloud. Sarà necessario utilizzare la console di Amazon SQS per creare e configurare la coda di messaggi, inviare un messaggio, verificarne la ricezione, eliminarlo e infine eliminare la coda.

I servizi AWS usati in questo tutorial sono coperti dal piano gratuito di AWS.

L'utilizzo della messaggistica su AWS richiede un account

Crea un account gratuito

Il piano gratuito di AWS include 1.000.000 di richieste con Amazon Simple Queue Service.

Visualizza i dettagli del piano gratuito di AWS »

 


a. Fai clic qui e la Console di gestione AWS si aprirà in una nuova finestra del browser, così potrai tenere aperta questa guida.  Quando la schermata si carica, inserisci nome utente e password per iniziare. Digita coda nella barra di ricerca e seleziona Simple Queue Service per aprire la console.

tmt_send-receive-async-messages_1a

(fai clic per ingrandire)

tmt_send-receive-async-messages_1a

b. Se la landing page della console SQS pagina viene visualizzata come nello screenshot, fai clic su Get Started Now (Inizia ora). Se non visualizzi questa pagina, vai direttamente alla fase successiva.

tmt_send-receive-async-messages_1b

(fai clic per ingrandire)

tmt_send-receive-async-messages_1b

In questa fase, creerai e configurerai una coda di Amazon SQS. Una coda è un buffer affidabile e altamente scalabile, che archivia i messaggi durante il loro trasferimento tra le applicazioni distribuite o tra i microservizi. Le code sono utili per disaccoppiare le applicazioni, collegare microservizi, eseguire il batch delle attività o archiviare le notifiche.

Il nostro caso d'uso per questo tutorial simulerà lo storage degli ordini in entrata da un'applicazione di e-commerce.


a. Come prima cosa, creeremo una semplice coda che memorizza gli ordini che vengono eseguiti sullo store. Inserisci Orders (Ordini) nel campo Name (Nome) della coda.

tmt_send-receive-async-messages_2a

(fai clic per ingrandire)

tmt_send-receive-async-messages_2a

b. Per questo tutorial, non c'è bisogno di mantenere uno stretto ordine, perciò non modificheremo il tipo di coda. Mantieni la selezione Standard Queue (Coda standard).

tmt_send-receive-async-messages_2b

(fai clic per ingrandire)

tmt_send-receive-async-messages_2b

c. Puoi fare in modo che la tua coda modifichi le impostazioni, ad esempio il periodo di retention, le dimensioni massime del messaggio e i ritardi nella consegna. Per questo tutorial, manterremo i parametri predefiniti. Scegli Quick-Create Queue (Crea coda velocemente).

tmt_send-receive-async-messages_2c

(fai clic per ingrandire)

tmt_send-receive-async-messages_2c

d. La nuova coda viene creata e selezionata nella lista di code.

tmt_send-receive-async-messages_2d

(fai clic per ingrandire)

tmt_send-receive-async-messages_2d

Una volta creata, la tua coda è pronta per ricevere messaggi dallo store online con i dettagli di ciascun nuovo ordine.


a. °La coda è già selezionato nell'elenco. Dal Queue Actions (Azioni coda), seleziona Send a Message (Invia un messaggio). Appare la finestra di dialogo Send a Message to Orders (Invia un messaggio agli ordini).

tmt_send-receive-async-messages_3a

(fai clic per ingrandire)

tmt_send-receive-async-messages_3a

b. Appare la finestra di dialogo Send a Message to Orders (Invia un messaggio agli ordini). Nella scheda Message Body (Corpo del messaggio), immetti il testo seguente come esempio di ordine:

1 x Widget @ 29,99 USD
2 x Widget Cables@ 4,99 USD

tmt_send-receive-async-messages_3b

(fai clic per ingrandire)

tmt_send-receive-async-messages_3b

c. Seleziona la scheda Message Attributes (Attributi del messaggio) per aggiungere alcuni metadati opzionali su questo messaggio per facilitarne l'elaborazione. Aggiungiamo un tipo di ordine. Inserisci il Tipo di ordine nel campo Name (Nome), stringa nel campo Type (Tipo) e Online nel campo Value (Valore). Fai clic su Add Attribute (Aggiungi attributo).

tmt_send-receive-async-messages_3c

(fai clic per ingrandire)

tmt_send-receive-async-messages_3c

d. Per inviare il messaggio immediatamente, fai clic su Send Message (Invia messaggio). La conferma che il messaggio è stato inviato viene visualizzata nella finestra di dialogo Send a Message to Orders (Invia un messaggio a ordini). Fai clic su Close (Chiudi).

tmt_send-receive-async-messages_3d

(fai clic per ingrandire)

tmt_send-receive-async-messages_3d

Dopo aver inviato un messaggio a una coda, un'altra applicazione può recuperarlo dalla coda e farne qualcosa. In questo esempio, recupererai semplicemente il messaggio per visualizzare l'ordine e quindi eliminarlo.


a. Accertati che la tua coda Orders (Ordini) è selezionata nella lista di code. Quindi, da Queue Actions (Azioni coda), seleziona View/Delete Messages (Visualizza/Elimina messaggi).

tmt_send-receive-async-messages_4a

(fai clic per ingrandire)

tmt_send-receive-async-messages_4a

b. Viene visualizzata la casella di dialogo View/Delete Messages in Orders (Visualizza/Elimina Messaggi negli ordini). Quando richiedi messaggio da una coda, non specifichi la richiesta a un messaggio specifico. Invece, specifichi il numero massimo di messaggi (fino a 10) che desideri recuperare.

Fai clic su Start Polling for messages (Avvia polling per i messaggi) per recuperare i messaggi dalla coda. °

tmt_send-receive-async-messages_4b

(fai clic per ingrandire)

tmt_send-receive-async-messages_4b

c. Una volta che un consumatore ha ricevuto ed elaborato un messaggio, può essere eliminato dalla coda. Seleziona il messaggio che si desidera eliminare e quindi scegli Delete 1 Message (Elimina 1 Messaggio).

tmt_send-receive-async-messages_4c

(fai clic per ingrandire)

tmt_send-receive-async-messages_4c

d. Viene visualizzata a la casella di dialogo Delete Messages (Elimina messaggi). Seleziona il messaggio e fai clic su Yes, Delete Checked Messages (Sì, cancella i messaggi letti). Il messaggio selezionato viene eliminato. Seleziona Close (Chiudi).

tmt_send-receive-async-messages_4d

(fai clic per ingrandire)

tmt_send-receive-async-messages_4d

Quando non è più necessario utilizzare una coda di Amazon SQS, ti consigliamo di eliminare la coda come best practice.


a. Nella lista seleziona la coda Ordini. Quindi, da Azioni della coda, seleziona Elimina coda.

tmt_send-receive-async-messages_5a

(fai clic per ingrandire)

tmt_send-receive-async-messages_5a

b. Viene visualizzata una finestra di dialogo Delete Queues (Elimina code). Puoi eliminare la tua coda anche ci sono ancora dei messaggi. Scegli Yes, Delete Queue (Sì, elimina coda). La coda viene eliminata.

tmt_send-receive-async-messages_5b

(fai clic per ingrandire)

tmt_send-receive-async-messages_5b

Hai creato la tua prima coda di messaggi Amazon Simple Queue Service (Amazon SQS), inviato messaggi alla tua coda, recuperato ed eliminato messaggi ed eliminato la coda. Ora puoi utilizzare le code di Amazon SQS per memorizzare e spostare i dati tra i componenti distribuiti di applicazioni e di microservizi.

Ora che hai imparato come utilizzare Amazon Simple Queue Service per inviare e ricevere messaggi, seleziona una delle seguenti opzioni per affinare ulteriormente le tue competenze di messaggistica.

Ulteriori informazioni

Ottieni una panoramica delle funzionalità, dei componenti e dei casi d'uso per code di messaggi su Amazon Web Services (AWS). Visita la pagina Web Amazon SQS »

Approfondisci

Esplora i diversi tipi di code, le caratteristiche e le architetture principali di Amazon Simple Queue Service. Leggi la documentazione »

Guarda in azione

Scopri in che modo i clienti come Capital One utilizzano Amazon SQS e Amazon SNS per isolare e scalare le applicazioni. Guarda il webinar »

No