Amazon SQS - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon SQS

Amazon SQS supporta code standard, che non garantiscono l'ordine, e code FIFO, che garantiscono l'ordinamento all'interno di un determinato gruppo di messaggi.

Le code sono un metodo comune per coreografare microservizi e forniscono uno spazio di archiviazione durevole per i messaggi per un massimo di 14 giorni. Le code sono occupate dai produttori e esaurite dai consumatori. Quando si utilizza AWS Lambda come consumatore, è possibile configurare una coda SQS come origine di eventi. In questo caso, il servizio Lambda Service Event Source Mapping (ESM) esegue il polling della coda per te e consegna i messaggi alla funzione Lambda non appena diventano disponibili. I microservizi che funzionano su altri tipi di servizi di elaborazione, come Amazon Elastic Container Service (Amazon ECS) o Amazon Elastic Compute Cloud ( EC2Amazon), devono implementare un proprio meccanismo di polling per recuperare nuovi messaggi dalla coda, quando diventano disponibili.

Lambda ESM per Amazon SQS supporta anche il filtraggio dei messaggi, che consente di elaborare solo un sottoinsieme di messaggi in una coda in base al contenuto del corpo del messaggio.

Polling

Amazon SQS supporta il polling breve e il polling lungo dei messaggi. Short polling interroga un sottoinsieme di server per trovare i messaggi disponibili e li restituisce immediatamente. Tuttavia, potrebbe non restituire tutti i messaggi disponibili. Ciò è utile quando l'applicazione deve consumare i messaggi il più rapidamente possibile o non può tollerare un'attesa per un periodo di tempo più lungo.

Il polling attende a lungo che sia trascorso un periodo di tempo configurabile o che venga ricevuto un numero configurabile di messaggi prima di restituire i messaggi. Ciò potrebbe ridurre il numero di sondaggi vuoti, ovvero il numero di sondaggi in cui non viene restituito alcun messaggio, in particolare per le code che non ricevono molti messaggi. La riduzione del numero di sondaggi vuoti può ridurre i costi di Amazon SQS, poiché questo servizio addebita un costo per ogni richiesta e ogni operazione di polling è una richiesta.

Linea guida

Le code sono un'ottima scelta quando:

  • Desiderate disaccoppiare i componenti e non è necessaria una comunicazione sincrona tra di essi.

  • Si sta comunicando tra componenti che hanno accordi sui livelli di servizio (SLAs) o obiettivi di livello di servizio () diversi di disponibilità. SLOs

  • In genere si dispone di un unico consumatore per una serie di messaggi.

Prendi in considerazione un'opzione alternativa se:

  • È necessaria una comunicazione sincrona.

  • È necessaria una logica di routing complicata per inviare messaggi al consumatore corretto.