Usar a Kinesis Client Library - 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á.

Usar a Kinesis Client Library

O que é a Kinesis Client Library?

A Kinesis Client Library (KCL) é uma biblioteca de software Java independente projetada para simplificar o processo de consumo e processamento de dados do Amazon Kinesis Data Streams. A KCL lida com muitas das tarefas complexas associadas à computação distribuída, o que permite que os desenvolvedores se concentrem na implementação da lógica de negócios para o processamento dos dados. Ela gerencia atividades como balanceamento de carga entre vários operadores, resposta a falhas de operadores, verificação dos registros processados e resposta a mudanças no número de fragmentos no fluxo.

A KCL é atualizada com frequência para incorporar as versões mais recentes das bibliotecas subjacentes, promover melhorias de segurança e realizar correções de bugs. É recomendável que você use a versão mais recente da KCL para evitar os problemas já conhecidos e se beneficiar de todas as melhorias mais recentes. Para encontrar a versão mais recente da KCL, consulte Github da KCL.

Importante
  • É recomendável que você use a versão mais recente da KCL para evitar os bugs e problemas já conhecidos. Se você estiver usando a KCL 2.6.0 ou versão anterior, atualize para a KCL 2.6.1 ou versão posterior para evitar uma condição rara que pode bloquear o processamento de fragmentos quando a capacidade do fluxo for alterada.

  • A KCL é uma biblioteca Java. Support para linguagens diferentes de Java é fornecido usando um daemon baseado em Java chamado. MultiLangDaemon MultiLangDaemoninterage com o aplicativo KCL por meio de STDIN e STDOUT. Para obter mais informações sobre o MultiLangDaemon on GitHub, consulteDesenvolva consumidores com a KCL em linguagens não Java.

  • Não use as AWS SDK para Java versões 2.27.19 a 2.27.23 com KCL 3.x. Essas versões têm um problema que causa um erro de exceção relacionado ao uso do DynamoDB da KCL. Recomendamos que você use a AWS SDK para Java versão 2.28.0 ou posterior para evitar esse problema.

Principais atributos e benefícios da KCL

A seguir, alguns dos principais atributos e benefícios correspondentes da KCL:

  • Escalabilidade: a KCL permite que as aplicações sejam escaladas dinamicamente distribuindo a carga de processamento entre vários operadores. Você pode escalar sua aplicação, removendo ou expandindo manualmente ou com ajuste de escala automático, sem se preocupar com a redistribuição de carga.

  • Balanceamento de carga: a KCL equilibra automaticamente a carga de processamento entre os operadores disponíveis, resultando em uma distribuição uniforme do trabalho entre os operadores.

  • Ponto de verificação: a KCL gerencia o ponto de verificação dos registros processados, permitindo que as aplicações retomem o processamento a partir da última posição processada com êxito.

  • Tolerância a falhas: a KCL fornece mecanismos integrados de tolerância a falhas, garantindo que o processamento de dados continue, mesmo que operadores individuais falhem. A KCL também fornece at-least-once entrega.

  • Tratamento de mudanças no fluxo: a KCL se adapta às divisões e mesclagens de fragmentos que podem ocorrer devido a alterações no volume de dados. Ela mantém o ordenamento ao assegurar que os fragmentos secundários sejam processados somente após o fragmento principal ser concluído e verificado.

  • Monitoramento: a KCL se integra à Amazon CloudWatch para monitoramento em nível de consumidor.

  • Suporte a vários idiomas: o KCL oferece suporte nativo a Java e habilita várias linguagens de programação não Java. MultiLangDaemon