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à.
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 per produttori, permettendo agli sviluppatori di ottenere un throughput di scrittura elevato su un flusso di dati Kinesis.
Puoi monitorare il KPL con Amazon CloudWatch. Per ulteriori informazioni, consulta Monitora la libreria Kinesis Producer con Amazon CloudWatch.
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 maggiori informazioni, consulta https://github.com/awslabs/amazon-kinesis-producer/releases/
Rivedi il ruolo del 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
Tieni presente che KPL è diverso dall'API Kinesis Data Streams disponibile in. AWS SDKs
Scopri i vantaggi dell'utilizzo di 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 Scrivi nel tuo flusso di dati Kinesis utilizzando KPL.
- Vantaggi in termini di prestazioni
-
La KPL può aiutare a creare producer ad alte prestazioni. Prendi in considerazione una situazione in cui le tue EC2 istanze Amazon fungono da proxy per raccogliere eventi da 100 byte da centinaia o migliaia di dispositivi a basso consumo e scrivere record in un flusso di dati Kinesis. Ciascuna di queste EC2 istanze deve scrivere migliaia di eventi al secondo nel tuo 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é il KPL può memorizzare nel buffer i record prima di inviarli a Kinesis Data Streams, non impone all'applicazione chiamante di bloccarsi 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. Questo è lo stesso comportamento dei client asincroni nell'SDK. AWS
Comprendi quando non usare 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 potrebbero dover utilizzare direttamente l' AWS SDK. Per ulteriori informazioni sull'utilizzo dell' AWS SDK con Kinesis Data Streams, consulta. Sviluppa i produttori utilizzando l'API Amazon Kinesis Data Streams con AWS SDK for Java Per ulteriori informazioni su RecordMaxBufferedTime
e altre proprietà configurabili dall'utente della KPL, consulta Configurazione della libreria Kinesis Producer.