Resilienza in Flusso di dati Amazon Kinesis - Flusso di dati Amazon Kinesis

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

Resilienza in Flusso di dati Amazon Kinesis

L'infrastruttura AWS globale è costruita attorno AWS a regioni e zone di disponibilità. AWS Le regioni offrono più zone di disponibilità fisicamente separate e isolate, collegate con reti a bassa latenza, ad alto throughput e altamente ridondanti. Con le zone di disponibilità, è possibile progettare e gestire applicazioni e database che eseguono il failover automatico tra zone di disponibilità senza interruzioni. Le zone di disponibilità sono più disponibili, tolleranti ai guasti e scalabili rispetto alle infrastrutture tradizionali a data center singolo o multiplo.

Per ulteriori informazioni su AWS regioni e zone di disponibilità, consulta Global Infrastructure.AWS

Oltre all'infrastruttura AWS globale, Kinesis Data Streams offre diverse funzionalità per supportare le esigenze di resilienza e backup dei dati.

Ripristino di emergenza in Amazon Kinesis Data Streams

È possibile che si verifichino errori ai seguenti livelli quando si utilizza un'applicazione flusso di dati Amazon Kinesis per elaborare i dati da un flusso:

  • Errore di un processore di record

  • Errore di un lavoratore o errore dell'istanza dell'applicazione che ha istanziato il lavoratore

  • Un' EC2 istanza che ospita una o più istanze dell'applicazione potrebbe fallire

Errore del processore di registrazione

L'operatore richiama i metodi del processore di registrazione utilizzando le attività Java ExecutorService. Se si verifica un errore di un'attività, il lavoratore mantiene il controllo dello shard che il processore di record stava elaborando. Il lavoratore avvia una nuova attività del processore di record per elaborare il suddetto shard. Per ulteriori informazioni, consulta Limitazione della lettura.

Errore del lavoratore o dell'applicazione

In caso di errore di un worker o di un'istanza di flusso di dati Amazon Kinesis, è necessario rilevare e gestire la situazione. Ad esempio, se il metodo Worker.run genera un'eccezione, è necessario identificarla e gestirla.

In caso di errore dell'applicazione stessa, è necessario rilevarlo e riavviare l'applicazione. Quando l'applicazione si avvia, avvia un'istanza di un nuovo lavoratore, che a sua volta avvia un'istanza di nuovi processori di record ai quali vengono automaticamente assegnati shard da elaborare. Questi potrebbero essere gli stessi shard che questi processori di record stavano elaborando prima dell'errore o shard che sono nuovi per questi processori.

In una situazione in cui il lavoratore o l'applicazione si guasta, l'errore non viene rilevato e vi sono altre istanze dell'applicazione in esecuzione su altre EC2 istanze, i lavoratori di queste altre istanze gestiscono l'errore. Creano processori di record aggiuntivi per elaborare gli shard che non sono più elaborati dal lavoro che ha prodotto l'errore. Il carico su queste altre EC2 istanze aumenta di conseguenza.

Lo scenario qui descritto presuppone che, sebbene il worker o l'applicazione abbia avuto un errore, l' EC2 istanza di hosting sia ancora in esecuzione e pertanto non venga riavviata da un gruppo di Auto Scaling.

Errore dell' EC2 istanza Amazon

Ti consigliamo di eseguire EC2 le istanze della tua applicazione in un gruppo Auto Scaling. In questo modo, se una delle EC2 istanze fallisce, il gruppo Auto Scaling avvia automaticamente una nuova istanza per sostituirla. È necessario configurare le istanze per avviare l'applicazione Flusso di dati Amazon Kinesis all'avvio.