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à.
Sviluppo di applicazioni producer tramite la Amazon Kinesis Producer Library
Un producer del flusso di dati Amazon Kinesis è qualsiasi applicazione che inserisce record di dati utente in un flusso di dati Kinesis (anche detto importazione dei dati). La Kinesis Producer Library (KPL) semplifica lo sviluppo di applicazioni producer, che consentono agli sviluppatori di ottenere velocità di trasmissione effettiva di scrittura elevata in un flusso di dati Kinesis.
Puoi monitorare il KPL con Amazon CloudWatch. Per ulteriori informazioni, consulta Monitoraggio della Kinesis Client Library con Amazon CloudWatch.
Indice
- Ruolo della KPL
- Vantaggi nell'utilizzo della KPL
- Quando non utilizzare la KPL
- Installazione della KPL
- Passaggio ai certificati di Amazon Trust Services (ATS) per Kinesis Producer Library
- Piattaforme supportate per la KPL
- Concetti chiave della KPL
- Integrazione della KPL con il codice del producer
- Scrittura sul flusso di dati Kinesis tramite la KPL
- Configurazione della Kinesis Producer Library
- Disaggregazione del consumer
- Utilizzo di KPL con Firehose
- Utilizzo di KPL con il registro AWS Glue Schema
- Configurazione del proxy KPL
Nota
Consigliamo di eseguire l'aggiornamento alla versione KPL più recente. La KCL viene regolarmente aggiornata con versioni più recenti che includono le ultime patch di dipendenza e sicurezza, correzioni di bug e nuove funzionalità retrocompatibili. Per ulteriori informazioni, consulta https://github.com/awslabs/ amazon-kinesis-producer /releases/
Ruolo della KPL
KPL è una easy-to-use libreria altamente configurabile che ti aiuta a scrivere su un flusso di dati Kinesis. Funge da intermediario tra il codice dell'applicazione producer e le operazioni API del flusso di dati Kinesis. La KPL esegue le seguenti attività primarie:
-
Scrive su uno o più flussi di dati Kinesis con un meccanismo di tentativi automatico e configurabile
-
Raccoglie record e utilizza
PutRecords
per scrivere più record in più shard per richiesta -
Unisce i record degli utenti per aumentare la dimensione del payload e migliorare il throughput
-
Si integra perfettamente con la Kinesis Client Library (KCL) per disaggregare i record raggruppati nel consumer
-
Invia i CloudWatch parametri di Amazon per tuo conto per fornire visibilità sulle prestazioni dei produttori
Nota che la KPL è diversa dall'API del flusso di dati Kinesis che è disponibile negli SDKAWS
Vantaggi nell'utilizzo della KPL
L'elenco seguente rappresenta alcuni dei principali vantaggi dell'utilizzo della KPL per lo sviluppo di producer del flusso di dati Kinesis.
La KPL può essere utilizzata in casi di utilizzo sincroni o asincroni. Suggeriamo di utilizzare le prestazioni più elevate dell'interfaccia asincrona, a meno che non vi sia un motivo specifico per l'utilizzo del comportamento sincrono. Per ulteriori informazioni su questi due casi d'uso e sul codice di esempio, consulta Scrittura sul flusso di dati Kinesis tramite la KPL.
- Vantaggi in termini di prestazioni
-
La KPL può aiutare a creare producer ad alte prestazioni. Considera una situazione in cui le istanze Amazon EC2 servono come proxy per la raccolta di eventi a 100 byte provenienti da centinaia o migliaia di dispositivi a bassa potenza e record di scrittura in un flusso di dati Kinesis. Queste istanze EC2 devono scrivere migliaia di eventi al secondo ciascuna per il flusso di dati. Per ottenere il throughput necessario, i produttori devono implementare una logica complicata, ad esempio esecuzione di batch o multithreading, in aggiunta al tentativo di disaggregare la logica e i record da parte del consumer. La KPL esegue tutte queste attività per tuo conto.
- Consumer-Side Ease of Use (Facilità utilizzo lato consumer)
-
Per gli sviluppatori lato consumer che utilizzano la KCL in Java, la KPL si integra senza sforzo aggiuntivo. Quando la KCL recupera un record del flusso di dati Kinesis aggregato composto da più record utente della KPL, automaticamente richiama la KPL per estrarre i record utente individuali prima di restituirli all'utente.
Per gli sviluppatori lato consumer che non utilizzano la KCL ma invece utilizzano l'operazione API
GetRecords
direttamente, una libreria Java della KPL è disponibile per estrarre i record utente individuali prima di restituirli all'utente. - Monitoraggio producer
-
Puoi raccogliere, monitorare e analizzare i tuoi produttori di Kinesis Data Streams utilizzando CloudWatch Amazon e KPL. Il KPL emette velocità effettiva, errori e altre metriche per tuo CloudWatch conto ed è configurabile per il monitoraggio a livello di stream, shard o produttore.
- Asynchronous Architecture (Architettura asincrona)
-
Poiché la KPL potrebbe eseguire il buffer sui record prima di inviarli al flusso di dati Kinesis, non forza l'applicazione dell'intermediario a bloccare e attendere la conferma che il record è arrivato al server prima di continuare l'esecuzione. Una chiamata per inserire un record nella KPL restituisce sempre immediatamente e non attende l'invio del record né di ricevere una risposta dal server. Al contrario, viene creato un oggetto
Future
che riceve il risultato di inviare il record al flusso di dati Kinesis in un secondo momento. Si tratta dello stesso comportamento dei client asincroni nell'SDK. AWS
Quando non utilizzare la KPL
La KPL può subire un ulteriore ritardo di elaborazione fino a RecordMaxBufferedTime
all'interno della libreria (configurabile dall'utente). Valori più elevati di RecordMaxBufferedTime
risultano in creazione di pacchetti più veloce e prestazioni migliori. Le applicazioni che non possono tollerare questo ritardo aggiuntivo potrebbe aver bisogno di utilizzare direttamente l'SDK AWS
. Per ulteriori informazioni sull'utilizzo dell' AWS SDK con Kinesis Data Streams, consulta. Sviluppo di applicazioni producer tramite l'API di Flusso di dati Amazon Kinesis con la AWS SDK for Java Per ulteriori informazioni su RecordMaxBufferedTime
e altre proprietà configurabili dall'utente della KPL, consulta Configurazione della Kinesis Producer Library.