Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Desenvolver produtores usando a Amazon Kinesis Producer Library (KPL)

Modo de foco
Desenvolver produtores usando a Amazon Kinesis Producer Library (KPL) - Amazon Kinesis Data Streams

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Um produtor do Amazon Kinesis Data Streams é uma aplicação que coloca registros de dados de usuários em um fluxo de dados do Kinesis (o que também é chamado de ingestão de dados). A Kinesis Producer Library (KPL) simplifica o desenvolvimento de aplicativos para produtores, permitindo que os desenvolvedores alcancem uma alta taxa de transferência de gravação em um stream de dados do Kinesis.

Você pode monitorar o KPL com a Amazon CloudWatch. Para obter mais informações, consulte Monitore a Kinesis Producer Library com a Amazon CloudWatch.

nota

Recomendamos a atualização para a versão mais recente da KPL. A KPL é atualizada regularmente em versões que incluem os patches de dependência e segurança e as correções de bugs mais recentes, além de novos recursos compatíveis com versões anteriores. Para obter mais informações, consulte https://github.com/awslabs/amazon-kinesis-producer/releases/.

Analisar a função da KPL

A KPL é uma easy-to-use biblioteca altamente configurável que ajuda você a gravar em um stream de dados do Kinesis. Ela atua como um intermediário entre o código da aplicação de produção e as ações das APIs do Kinesis Data Streams. A KPL executa as seguintes tarefas principais:

  • Grava em um ou mais fluxos de dados do Kinesis com um mecanismo automático e configurável de novas tentativas

  • Coleta registros e usa PutRecords para gravar vários registros em vários fragmentos por solicitação

  • Agrega registros de usuário para aumentar o tamanho da carga útil e melhorar a throughput

  • Integra-se perfeitamente à Kinesis Client Library (KCL) para desagregar registros em lote no consumidor

  • Envia CloudWatch métricas da Amazon em seu nome para fornecer visibilidade sobre o desempenho do produtor

Observe que a KPL é diferente da API Kinesis Data Streams que está disponível no. AWS SDKs A API do Kinesis Data Streams ajuda a gerenciar vários aspectos do Kinesis Data Streams (incluindo a criação de fluxos, a refragmentação e a colocação e obtenção de registros), enquanto a KPL fornece uma camada de abstração especificamente para a ingestão de dados. Para obter informações sobre a API do Kinesis Data Streams, consulte a Referência de APIs do Amazon Kinesis.

Perceber as vantagens de usar a KPL

A lista a seguir apresenta algumas das principais vantagens no uso da KPL para desenvolver produtores do Kinesis Data Streams.

A KPL pode ser usada em casos de uso síncronos ou assíncronos. Recomenda-se a interface assíncrona, que possui maior desempenho, a menos que haja um motivo específico para usar o comportamento síncrono. Para obter mais informações sobre esses dois casos de uso e o código de exemplo, consulte Gravar no fluxo de dados do Kinesis usando a KPL.

Benefícios de desempenho

A KPL pode ajudar a criar produtores de alta performance. Considere uma situação em que suas EC2 instâncias da Amazon sirvam como proxy para coletar eventos de 100 bytes de centenas ou milhares de dispositivos de baixo consumo de energia e gravar registros em um stream de dados do Kinesis. Cada uma dessas EC2 instâncias deve gravar milhares de eventos por segundo em seu stream de dados. Para alcançar a throughput necessária, os produtores precisam implementar uma lógica complexa, como agrupamento em lotes ou multithreading, lógica de retentativa e desagregação de registros no lado do consumidor. A KPL executa todas essas tarefas.

Facilidade de uso do lado do consumidor

No caso de desenvolvedores no lado do consumidor usando a KCL em Java, a integração da KPL não requer esforço adicional. Ao recuperar um registro agregado do Kinesis Data Streams que consiste em vários registros de usuário da KPL, a KCL chama automaticamente a KPL para extrair registros do usuário individual e retorná-los ao mesmo usuário.

Desenvolvedores no lado do conusmidor que não usam a KCL, mas usam a operação GetRecords da API diretamente, contam com uma biblioteca de Java da KPL disponível para extrair registros do usuário individual e retorná-los ao mesmo usuário.

Monitoramento de produtor

Você pode coletar, monitorar e analisar seus produtores do Kinesis Data Streams usando a CloudWatch Amazon e a KPL. O KPL emite taxa de transferência, erro e outras métricas CloudWatch em seu nome e é configurável para ser monitorado no nível de stream, fragmento ou produtor.

Arquitetura assíncrona

Como a KPL pode armazenar registros em buffer antes de enviá-los para o Kinesis Data Streams, ela não força o aplicativo chamador a bloquear e esperar pela confirmação de que o registro chegou ao servidor antes de continuar o tempo de execução. Uma chamada para colocar um registro na KPL sempre retorna imediatamente, sem esperar o registro ser enviado ou uma resposta ser recebida do servidor. Em vez disso, é criado um objeto Future que posteriormente recebe o resultado do envio do registro ao Kinesis Data Streams. Esse é o mesmo comportamento dos clientes assíncronos no SDK. AWS

Entender quando não usar a KPL

A KPL pode ter um atraso por processamento adicional de até RecordMaxBufferedTime dentro da biblioteca (configurável pelo usuário). Valores maiores que RecordMaxBufferedTime geram maiores eficiências de empacotamento e melhor desempenho. Os aplicativos que não toleram esse atraso adicional talvez precisem usar o AWS SDK diretamente. Para obter mais informações sobre como usar o AWS SDK com o Kinesis Data Streams, consulte. Desenvolva produtores usando a API Amazon Kinesis Data Streams com o AWS SDK for Java Para obter mais informações sobre RecordMaxBufferedTime e outras propriedades configuráveis pelo usuário da KPL, consulte Configurar a Kinesis Producer Library.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.