Scegli la modalità giusta per lo streaming - 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à.

Scegli la modalità giusta per lo streaming

I seguenti argomenti spiegano come scegliere la modalità migliore per l'applicazione e come passare da una modalità all'altra, se necessario.

Quali sono le diverse modalità di Kinesis Data Streams?

Una modalità determina come viene gestita la capacità di un flusso di dati e in che modo ti viene addebitato l'utilizzo del flusso di dati. In Amazon Kinesis Data Streams, puoi scegliere On-demand Standard, On-demand Advantage e Provisioned come modalità per i tuoi flussi di dati.

  • On-demand Standard: i flussi di dati con modalità on demand non richiedono alcuna pianificazione della capacità e si ridimensionano automaticamente per gestire gigabyte di velocità di scrittura e lettura al minuto. Con la modalità on demand, il flusso di dati Kinesis gestisce automaticamente le partizioni per fornire la velocità di trasmissione effettiva necessaria.

  • On-demand Advantage: una modalità a livello di account che abilita più funzionalità e fornisce una struttura dei prezzi più semplice per i flussi su richiesta. In questa modalità, puoi aumentare in modo proattivo la capacità di trasmissione di scrittura di uno stream in qualsiasi momento. Per quanto riguarda i prezzi, non è più previsto un costo fisso per flusso e l'acquisizione, il recupero dei dati e l'utilizzo prolungato della conservazione in tutti i flussi on demand sono inferiori almeno del 60% rispetto a quelli di On-demand Standard.

  • Fornito: per i flussi di dati con una modalità di provisioning, è necessario specificare il numero di shard per il flusso di dati. La capacità totale di un flusso di dati è la somma di capacità delle relative partizioni. È possibile aumentare o diminuire il numero di shard in un flusso di dati, in base alle esigenze.

Puoi utilizzare Kinesis Data PutRecords APIs Streams e scrivere PutRecord dati nei tuoi flussi di dati in qualsiasi modalità. Per recuperare i dati, tutte e tre le modalità supportano i consumatori predefiniti che utilizzano l'GetRecordsAPI e i consumatori Enhanced Fan-Out (EFO) che utilizzano l'API. SubscribeToShard

Tutte le funzionalità del flusso di dati Kinesis, tra cui la modalità di conservazione, la crittografia, i parametri di monitoraggio e altre, sono supportate sia per la modalità on demand che per quella assegnata. Il flusso di dati Kinesis offre durabilità e disponibilità elevate sia in modalità di capacità on demand che in modalità di capacità assegnata.

Caratteristiche e casi d'uso della modalità Standard su richiesta

I flussi di dati in modalità on demand non richiedono alcuna pianificazione della capacità e si dimensionano automaticamente per gestire i gigabyte di velocità di trasmissione effettiva di scrittura e lettura al minuto. La modalità on demand semplifica l'acquisizione e l'archiviazione di grandi volumi di dati a bassa latenza perché elimina il provisioning e la gestione di server, spazio di archiviazione o velocità di trasmissione effettiva. È possibile importare miliardi di record al giorno senza alcun sovraccarico operativo.

La modalità on demand è ideale per soddisfare le esigenze di traffico applicativo altamente variabile e imprevedibile. Non è più necessario effettuare il provisioning di questi carichi di lavoro per la massima capacità, il che può comportare costi più elevati a causa del basso utilizzo. La modalità on demand è adatta per carichi di lavoro con modelli di traffico imprevedibili e altamente variabili.

Con la modalità di capacità on demand, si paga per i GB di dati scritti e letti dai flussi di dati. Non è necessario specificare la velocità di trasmissione effettiva di lettura e scrittura che si prevede l'applicazione esegua. Il flusso di dati Kinesis si adatta istantaneamente ai carichi di lavoro siano essi aumentati o diminuiti. Per ulteriori informazioni, consulta Prezzi di Amazon Kinesis Data Streams.

Un flusso di dati in modalità on demand supporta fino al doppio della velocità di trasmissione effettiva di scrittura di picco osservato nei 30 giorni precedenti. Man mano che la velocità trasmissione effettiva di scrittura del flusso di dati raggiunge un nuovo picco, il flusso di dati Kinesis dimensiona automaticamente la capacità del flusso di dati. Ad esempio, se il flusso di dati ha un throughput di scrittura che varia tra il 10 MB/s e il 40% MB/s, then Kinesis Data Streams ensures that you can easily burst to double your previous peak throughput, or 80 MB/s. If the same data stream sustains a new peak throughput of 50 MB/s, Kinesis Data Streams ensures that there is enough capacity to ingest 100 MB/s di velocità di scrittura. Tuttavia, si può verificare una limitazione se il traffico aumenta fino a più del doppio del picco precedente nell'arco di 15 minuti. Dovrai riprovare a eseguire queste richieste limitate.

La capacità di lettura aggregata di un flusso di dati con la modalità on demand aumenta proporzionalmente alla velocità di scrittura. Ciò contribuisce a garantire che le applicazioni consumer abbiano sempre una velocità di lettura adeguata per elaborare i dati in arrivo in tempo reale. Ottieni almeno il doppio della velocità di trasmissione effettiva di scrittura rispetto ai dati di lettura utilizzando l'API GetRecords. Ti consigliamo di utilizzare un'applicazione consumer con l'API GetRecord in modo che abbia abbastanza spazio per recuperare il ritardo dell'applicazione quando deve essere ripristinata dopo un periodo di inattività. Si consiglia di utilizzare la funzionalità di fan-out avanzato del flusso di dati Kinesis per scenari che richiedono l'aggiunta di più di un'applicazione consumer. Il fan-out avanzato supporta l'aggiunta di un massimo di 20 applicazioni consumer a un flusso di dati tramite l'API SubscribeToShard, con ogni applicazione consumer con una velocità di trasmissione effettiva dedicata.

Gestisci le eccezioni della velocità effettiva di lettura e scrittura

Con la modalità on-demand (la stessa della modalità di capacità fornita), è necessario specificare una chiave di partizione per ogni record per scrivere i dati nel flusso di dati. Il flusso di dati Kinesis utilizza le chiavi di partizione per distribuire i dati tra le partizioni. Il flusso di dati Kinesis monitora il traffico per ogni partizione. Quando il traffico in entrata supera i 500 KB/s per shard, lo divide entro 15 minuti. I valori della chiave hash della partizione principale vengono ridistribuiti in modo uniforme tra le partizioni secondarie.

Se il traffico in entrata supera il doppio del picco precedente, è possibile che si verifichino eccezioni di lettura o scrittura per circa 15 minuti, anche quando i dati sono distribuiti uniformemente tra le partizioni. Ti consigliamo di riprovare tutte queste richieste in modo che tutti i record vengano archiviati correttamente nel flusso di dati Kinesis.

Potrebbero verificarsi eccezioni di lettura e scrittura se si utilizza una chiave di partizione che causa una distribuzione non uniforme dei dati e se i record assegnati a una determinata partizione superano i limiti. Con la modalità on-demand, il flusso di dati si adatta automaticamente per gestire modelli di distribuzione dei dati non uniformi, a meno che una singola chiave di partizione non superi i limiti di 1 throughput e 1000 record al secondo di uno shard. MB/s

Nella modalità on demand, il flusso di dati Kinesis divide le partizioni in modo uniforme quando rileva un aumento del traffico. Tuttavia, non rileva né isola le chiavi hash che indirizzano una parte maggiore del traffico in entrata verso una partizione particolare. Se si utilizzano chiavi di partizione molto irregolari, è possibile che continuino a ricevere eccezioni di scrittura. Per questi casi d'uso, si consiglia di utilizzare la modalità di capacità assegnata che supporta le suddivisioni di partizioni granulari.

Caratteristiche e casi d'uso della modalità On-demand Advantage

On-demand Advantage è un'impostazione a livello di account che sblocca più funzionalità e fornisce una struttura dei prezzi diversa per tutti gli stream on demand nella regione. In questa modalità, gli stream on demand mantengono le loro funzionalità e continuano a scalare automaticamente la capacità in base all'effettivo utilizzo dei dati. Se desideri riscaldare in modo proattivo la capacità di scrittura di uno stream, puoi configurare una velocità effettiva effettiva. Ad esempio, se il flusso di dati ha una velocità di scrittura compresa tra 10 MB/s e 40, MB/s, you can expect it to handle up to 80MB/s of instant throughput increases without throttling. However, if you forecast an upcoming event to peak around 200MB/s of traffic, you can configure the stream with a warm throughput of 200MB/s per garantire che la capacità sia disponibile quando arriva la velocità effettiva dei dati. L'utilizzo della velocità effettiva a caldo non comporta costi aggiuntivi.

Un altro vantaggio della modalità On-demand Advantage è che i flussi on-demand passano a una struttura tariffaria più semplice. Con la modalità abilitata, l'account non vedrà più addebiti fissi per flusso e tu dovrai occuparti solo dell'acquisizione e del recupero dei dati e dei costi opzionali di conservazione estesa. Ogni dimensione di prezzo offre inoltre uno sconto significativo rispetto alla dimensione corrispondente in On-demand Standard. Per ulteriori informazioni, consulta Prezzi di Amazon Kinesis Data Streams.

Inoltre, i recuperi dati avanzati in modalità fan-out non comportano un sovrapprezzo rispetto ai recuperi dati standard in questa modalità. Inoltre, con la modalità On-demand Advantage, puoi registrare fino a 50 utenti per streaming per utilizzare il fan-out avanzato. L'attivazione di On-demand Advantage impegna l'account a recuperare almeno il 25% MiB/s of data ingest and 25MiB/s dei dati su tutti i flussi on-demand. Per gli account che soddisfano i requisiti di utilizzo minimi, la console Kinesis Data Streams verifica se i modelli di utilizzo dell'account sono adatti all'utilizzo della modalità On-demand Advantage.

Se l'utilizzo dei dati del tuo account è inferiore al requisito, ti verrà addebitata la differenza a titolo di deficit, ma sarà comunque applicata la stessa tariffa scontata. L'attivazione di On-demand Advantage prevede inoltre un periodo minimo di 24 ore prima di poter disattivare la modalità. Nel complesso, On-demand Advantage è il modo migliore per eseguire lo streaming con Kinesis Data Streams se hai un utilizzo costante del throughput vicino o superiore all'impegno minimo, hai bisogno di molti utenti che si divertono o gestisci con centinaia di flussi di dati.

Caratteristiche e casi d'uso della modalità Provisioned Mode

Con la modalità provisioning, dopo aver creato il flusso di dati, puoi aumentare o ridurre dinamicamente la capacità dello shard utilizzando o l' Console di gestione AWS API. UpdateShardCount È possibile effettuare aggiornamenti mentre è presente un'applicazione producer o consumer del flusso di dati Kinesis che scrive o legge dati dal flusso.

La modalità assegnata è adatta per un traffico prevedibile con requisiti di capacità facili da stimare. È possibile utilizzare la modalità assegnata se si desidera un controllo preciso su come i dati sono distribuiti tra le partizioni.

Con la modalità assegnata, devi specificare il numero di partizioni per il flusso di dati. Per determinare le dimensioni iniziali di un flusso di dati, è necessario soddisfare i seguenti valori di input:

  • Le dimensioni medie del record di dati scritti nel flusso in kilobyte (KB), arrotondate al KB più vicino (average_data_size_in_KB).

  • Il numero di record di dati scritti e letti dal flusso al secondo (records_per_second).

  • Il numero di applicazioni consumer, che sono le applicazioni del flusso di dati Kinesis che elaborano i dati simultaneamente e indipendentemente dal flusso (number_of_consumers).

  • La larghezza di banda in scrittura in entrata in KB (incoming_write_bandwidth_in_KB), che è uguale a average_data_size_in_KB moltiplicato per records_per_second.

  • La larghezza di banda in lettura in uscita in KB (outgoing_read_bandwidth_in_KB), che è uguale a incoming_write_bandwidth_in_KB moltiplicato per number_of_consumers.

Puoi calcolare il numero di partizioni (number_of_shards) di cui il flusso ha bisogno utilizzando i valori di input nella formula seguente:

number_of_shards = ceiling(max(incoming_write_bandwidth_in_KiB/1024, outgoing_read_bandwidth_in_KiB/2048))

Nella modalità assegnata è possibile che si verifichino comunque eccezioni di velocità di trasmissione effettiva di lettura e scrittura se non si configura il flusso di dati per gestire i picchi di velocità di trasmissione effettiva. In questo caso, è necessario dimensionare manualmente il flusso di dati in modo da adattarlo al traffico di dati.

Potrebbero verificarsi eccezioni di lettura e scrittura se si utilizza una chiave di partizione che causa una distribuzione non uniforme dei dati e se i record assegnati a una determinata partizione superano i limiti. Per risolvere questo problema nella modalità assegnata, identifica tali frammenti e dividili manualmente per adattarli meglio al traffico. Per ulteriori informazioni, consulta Ripartizionamento di un flusso.

Passa da una modalità all'altra

Per ogni flusso di dati Account AWS, puoi passare dalla modalità on-demand a quella fornita due volte nell'arco di 24 ore. Il passaggio da una modalità all'altra non causa interruzioni alle applicazioni che utilizzano questo flusso di dati. È possibile continuare a scrivere e leggere da questo flusso di dati. Quando passi da una modalità all'altra, da on-demand a provisioned o da provisioning a on-demand, lo stato dello stream viene impostato su Aggiornamento. È necessario attendere che lo stato del flusso di dati diventi Attivo prima di poterne modificare nuovamente le proprietà.

Quando si passa dalla modalità di capacità assegnata a quella on demand, il flusso di dati inizialmente conserva il numero di partizioni che aveva prima della transizione e, da questo momento in poi, il flusso di dati Kinesis monitorerà il traffico di dati e dimensionerà il numero di partizioni di questo flusso di dati on demand in base alla velocità di trasmissione effettiva di scrittura. Quando passi dalla modalità on demand a quella con provisioning, inizialmente il flusso di dati conserva anche il numero di shard che aveva prima della transizione, ma da questo momento in poi, sei responsabile del monitoraggio e della regolazione del numero di shard di questo flusso di dati per adattarlo adeguatamente al tuo throughput di scrittura.

Puoi passare dalla modalità On-demand Standard alla modalità On-demand Advantage abilitando un'impostazione a livello di account. Se abilitato, l'account si impegna ad utilizzare almeno il 25% MiB/s of data ingest and 25MiB/s del recupero dei dati in tutti i flussi on-demand della regione. Una volta abilitato, è necessario attendere almeno 24 ore prima di poter disattivare On-demand Advantage, ma è possibile richiedere la modifica in qualsiasi momento. Se desideri passare da On-demand Advantage a On-demand Standard, devi prima rimuovere qualsiasi throughput caldo configurato con i flussi a richiesta.