Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Desarrollo de productores con Amazon Kinesis Producer Library (KPL)

Modo de enfoque
Desarrollo de productores con Amazon Kinesis Producer Library (KPL) - Amazon Kinesis Data Streams

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Un productor de Amazon Kinesis Data Streams es una aplicación que coloca los registros de datos de usuario en un flujo de datos de Kinesis Data Streams (también denominado ingesta de datos). La biblioteca de productores de Kinesis (KPL) simplifica el desarrollo de aplicaciones para productores, lo que permite a los desarrolladores lograr un alto rendimiento de escritura en una transmisión de datos de Kinesis.

Puedes monitorizar la KPL con Amazon CloudWatch. Para obtener más información, consulte Supervise la biblioteca de Kinesis Producer con Amazon CloudWatch.

nota

Se recomienda actualizar a la versión más reciente de KPL. KPL se actualiza periódicamente con versiones más recientes que incluyen los últimos parches de dependencia y seguridad, correcciones de errores y nuevas características compatibles con versiones anteriores. Para obtener más información, consulte https://github.com/awslabs/amazon-kinesis-producer/releases/.

Revisar el rol de KPL

La KPL es una easy-to-use biblioteca altamente configurable que le ayuda a escribir en una transmisión de datos de Kinesis. Ejerce de intermediaria entre el código de la aplicación de productor y las acciones de la API de Kinesis Data Streams. KPL realiza las siguientes tareas principales:

  • Escribe en uno o varios flujo de datos de Kinesis con un mecanismo de reintento automático y configurable

  • Recopila registros y utiliza PutRecords para escribir varios registros en varios fragmentos por solicitud

  • Acumula registros de usuario para aumentar el tamaño de la carga y mejorar el rendimiento

  • Se integra perfectamente con Kinesis Client Library (KCL) para desagrupar registros en lotes en el consumidor

  • Envía las CloudWatch estadísticas de Amazon en tu nombre para proporcionar visibilidad sobre el rendimiento del productor

Tenga en cuenta que la KPL es diferente de la API de Kinesis Data Streams que está disponible en. AWS SDKs La API de Kinesis Data Streams ayuda a administrar muchos aspectos de Kinesis Data Streams (como la creación de flujos, el cambio de las particiones de registros, así como la inserción y obtención de estos), mientras que KPL proporciona una capa de abstracción específica para la ingesta de datos. Para obtener información sobre la API de Kinesis Data Streams, consulte Referencia de la API de Amazon Kinesis.

Descubrir las ventajas del uso de KPL

La siguiente lista representa algunas de las ventajas más importantes de utilizar KPL para el desarrollo de productores de Kinesis Data Streams.

KPL puede utilizarse en casos de uso síncronos o asíncronos. Se recomienda utilizar el mayor rendimiento de la interfaz asíncrona a menos que haya una razón específica para utilizar un comportamiento síncrono. Para obtener más información sobre estos dos casos de uso y ver código de muestra, consulte Escribir en Kinesis Data Stream mediante KPL.

Beneficios de rendimiento

KPL puede ayudar a crear productores de alto rendimiento. Considere una situación en la que sus EC2 instancias de Amazon sirvan como proxy para recopilar eventos de 100 bytes de cientos o miles de dispositivos de bajo consumo y escribir registros en una transmisión de datos de Kinesis. Cada una de estas EC2 instancias debe escribir miles de eventos por segundo en su transmisión de datos. Para conseguir el nivel de rendimiento necesario, los productores deben implementar lógica complicada como, por ejemplo, la creación de lotes o la ejecución de subprocesos, además de lógica de reintento y desagrupación de registros en el lado del consumidor. KPL realiza todas estas tareas.

Facilidad de uso en el lado del consumidor

En el caso de los desarrolladores del lado del consumidor que usan KCL en Java, KPL se integra sin mayor esfuerzo. Cuando KCL recupera un registro agregado de Kinesis Data Streams que consta de varios registros de usuario de KPL, llama automáticamente a KPL para que extraiga los registro de usuario individuales antes de devolverlos al usuario.

Para los desarrolladores del lado del consumidor que no utilicen KCL, sino que, en su lugar, utilicen la operación de la API GetRecords directamente, hay disponible una biblioteca de Java de KPL que pueden usar para extraer los registros de los usuarios individuales antes de devolverlos al usuario.

Monitoreo del productor

Puede recopilar, supervisar y analizar a sus productores de Kinesis Data Streams mediante CloudWatch Amazon y la KPL. El KPL emite el rendimiento, los errores y otras métricas CloudWatch en su nombre, y se puede configurar para supervisarlo a nivel de transmisión, fragmento o productor.

Arquitectura asíncrona

Como el KPL puede almacenar en búfer los registros antes de enviarlos a Kinesis Data Streams, no obliga a la aplicación que llama a bloquear y esperar a que se confirme que el registro ha llegado al servidor antes de continuar con la ejecución. Una llamada para insertar un registro en KPL siempre vuelve inmediatamente, y no se espera a que el registro se envíe o a que se reciba una respuesta desde el servidor. En su lugar, se crea un objeto Future que recibe el resultado de enviar el registro a Kinesis Data Streams en un momento posterior. Es el mismo comportamiento que el de los clientes asíncronos del SDK. AWS

Comprender cuándo no usar la KPL

KPL puede ocasionar un retraso adicional en el procesamiento de hasta RecordMaxBufferedTime en la biblioteca (configurable por el usuario). Los valores más altos de RecordMaxBufferedTime ofrecen un mayor eficacia de empaquetamiento y un mejor rendimiento. Es posible que las aplicaciones que no toleren este retraso adicional necesiten usar el AWS SDK directamente. Para obtener más información sobre el uso del AWS SDK con Kinesis Data Streams, Desarrolle productores mediante la API Amazon Kinesis Data Streams con AWS SDK for Java consulte. Para más información sobre RecordMaxBufferedTime y otras propiedades configurables por el usuario de KPL, consulte Configurar Kinesis Producer Library.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.