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
Gli argomenti seguenti spiegano come scegliere la modalità migliore per l'applicazione e come passare da una modalità all'altra, se necessario.
Argomenti
Quali sono le diverse modalità di Kinesis Data Streams?
Una modalità determina come viene gestita la capacità di un flusso di dati e il costo dell'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 scalano automaticamente per gestire gigabyte di throughput 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 Vantaggio: una modalità a livello di account che offre più funzionalità e fornisce una struttura dei prezzi più semplice per gli stream su richiesta. In questa modalità, puoi aumentare in modo proattivo la capacità di trasmissione in scrittura di uno stream in qualsiasi momento. Puoi anche attivare uno scale-down se un burst temporaneo di dati ha causato una scalabilità significativa dello stream oltre la sua capacità massima. Per quanto riguarda i prezzi, non è più previsto un costo fisso per ogni streaming. L'acquisizione e il recupero dei dati e l'utilizzo prolungato della conservazione in tutti gli stream on demand sono inferiori di almeno il 60% rispetto a Standard. On-demand
-
Fornito: per i flussi di dati con una modalità di provisioning, è necessario specificare il numero di frammenti 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 frammenti in un flusso di dati, in base alle esigenze.
Puoi utilizzare Kinesis Data Streams PutRecord e le PutRecords API per scrivere 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.
On-demand Funzionalità e casi d'uso della modalità standard
I flussi di dati in modalità on-demand non richiedono alcuna pianificazione della capacità e si scalano automaticamente per gestire gigabyte di velocità effettiva di scrittura e lettura al minuto. On-demand la modalità semplifica l'acquisizione e l'archiviazione di grandi volumi di dati a bassa latenza perché elimina il provisioning e la gestione di server, storage o throughput. È possibile importare miliardi di record al giorno senza alcun sovraccarico operativo.
On-demand la modalità è ideale per soddisfare le esigenze di un traffico applicativo altamente variabile e imprevedibile. Non è più necessario fornire questi carichi di lavoro per raggiungere i picchi di capacità, il che può comportare costi più elevati a causa del basso utilizzo. On-demand la modalità è 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 10 MB/s e 40 MB/s, Kinesis Data Streams consente di raddoppiare facilmente il throughput massimo fino a raddoppiare il throughput di picco precedente, ossia 80. MB/s Se lo stesso flusso di dati supporta un nuovo throughput di picco del 50% MB/s, Kinesis Data Streams garantisce una capacità sufficiente per assorbire il 100% del throughput di scrittura. MB/s 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 Fan-Out funzionalità avanzata di Kinesis Data Streams per scenari che richiedono l'aggiunta di più di un'applicazione consumer. Enhanced Fan-Out supporta l'aggiunta di fino a 20 applicazioni consumer a un flusso di dati utilizzando l'SubscribeToShardAPI, con ciascuna applicazione consumer con un throughput dedicato.
Gestisci le eccezioni di velocità di lettura e scrittura
Con la modalità su richiesta (la stessa della modalità di capacità assegnata), è 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 frammento, lo frammento viene diviso 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à su richiesta, il flusso di dati si adatta automaticamente per gestire schemi di distribuzione dei dati irregolari, a meno che una singola chiave di partizione non superi i limiti di 1 velocità effettiva di uno shard e 1000 record al secondo. 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.
On-demand Caratteristiche e casi d'uso della modalità 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 la loro funzionalità e continuano a scalare automaticamente la capacità in base all'effettivo utilizzo dei dati. Se desideri aumentare in modo proattivo la capacità di trasmissione in scrittura di uno stream, puoi configurare la velocità effettiva elevata. Ad esempio, se il flusso di dati ha un throughput di scrittura compreso tra 10 MB/s e 40 MB/s, puoi aspettarti che gestisca aumenti istantanei 80MB/s del throughput senza limitazioni. Tuttavia, se si prevede che un evento imminente raggiunga un picco 200MB/s di traffico, è possibile configurare lo stream con un throughput elevato di 200MB/s per garantire che la capacità sia disponibile quando arriva il throughput dei dati. L'utilizzo della velocità effettiva non comporta alcun costo aggiuntivo. Se un'interruzione transitoria dei dati ha causato la scalabilità dello stream oltre la sua capacità massima, puoi attivare una riduzione. A tale scopo, riconfigura la velocità effettiva massima dello stream su un valore uguale o inferiore. La capacità dello stream si riduce al numero richiesto o alla quantità necessaria per supportare il picco di utilizzo dei dati nell'ultima ora, a seconda di quale dei due valori sia maggiore.
Un altro On-demand vantaggio della modalità Advantage è la transizione degli stream su richiesta a una struttura tariffaria più semplice. Con la modalità abilitata, non sono più previsti costi fissi per stream e ci si occupa solo dell'inserimento e del recupero dei dati e dei costi opzionali di conservazione estesa. Ogni dimensione del prezzo è inoltre soggetta a uno sconto significativo rispetto alla dimensione corrispondente in Standard. On-demand Per ulteriori informazioni, consulta Prezzi di Amazon Kinesis Data Streams
Inoltre, i recuperi dati fan-out avanzati non comportano un aumento di prezzo rispetto ai recuperi di dati standard in questa modalità. Inoltre, con la modalità On-demand Advantage, puoi registrare fino a 50 consumatori per stream per utilizzare il fan-out avanzato. Enabling On-demand Advantage impegna l'account a eseguire almeno l'acquisizione e 25MiB/s il recupero 25MiB/s dei dati in tutti i flussi su richiesta. Per gli account che soddisfano i requisiti minimi di utilizzo, la console Kinesis Data Streams verifica se i modelli di utilizzo dell'account sono adatti alla modalità Advantage. On-demand
Se l'utilizzo dei dati del tuo account è inferiore al requisito, ti verrà addebitata la differenza come deficit, ma verrà comunque applicata la stessa tariffa scontata. Enabling 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 abituati o operi con centinaia di flussi di dati.
Funzionalità e casi d'uso della modalità Provisioned
Con la modalità provisioning, dopo aver creato il flusso di dati, puoi aumentare o diminuire 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 aaverage_data_size_in_KBmoltiplicato perrecords_per_second. -
La larghezza di banda in lettura in uscita in KB (
outgoing_read_bandwidth_in_KB), che è uguale aincoming_write_bandwidth_in_KBmoltiplicato pernumber_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 in uso Account AWS, puoi passare dalla modalità on-demand a quella con provisioning 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 provisioning o da provisioning a on-demand, lo stato dello stream è 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, il flusso di dati mantiene inizialmente il numero di frammenti che aveva prima della transizione, ma da questo momento in poi, sei responsabile del monitoraggio e della regolazione del numero di frammenti di questo flusso di dati per adattarlo correttamente al tuo throughput di scrittura.
Puoi passare dalla modalità Standard a quella Advantage abilitando un'impostazione a On-demand livello di account. On-demand Se abilitato, l'account si impegna a utilizzare almeno l' 25MiB/s inserimento e il recupero 25MiB/s dei dati in tutti gli stream on-demand nella regione. Dopo averlo abilitato, devi attendere almeno 24 ore prima di poter disattivare On-demand Advantage, ma puoi richiedere la modifica in qualsiasi momento. Se desideri passare da On-demand Advantage a On-demand Standard, devi prima rimuovere l'eventuale hot throughput configurato sugli stream on-demand.