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

  • Errore di un'istanza EC2 che ospita una o più istanze dell'applicazione

Registra un errore del processore

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 lavoro o l'applicazione ha esito negativo, l'errore non viene rilevato ed esistono altre istanze dell'applicazione in esecuzione su altre istanze EC2, lavori su 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 istanze EC2 aumenta di conseguenza.

Lo scenario descritto qui presuppone che, anche in caso di errore del worker o dell'applicazione, l'istanza EC2 ospitante è ancora in esecuzione e pertanto non viene riavviata da un gruppo con dimensionamento automatico.

Errore dell'istanza Amazon EC2

È consigliabile eseguire le istanze EC2 per la tua applicazione in un gruppo . In questo modo, in caso di errore di una delle istanze EC2, il gruppo con dimensionamento automatico avvia automaticamente una nuova istanza per sostituirla. È necessario configurare le istanze per avviare l'applicazione Flusso di dati Amazon Kinesis all'avvio.