Principais conceitos da 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á.

Principais conceitos da KPL

As seções a seguir contêm conceitos e terminologia necessários para entender e se beneficiar da Kinesis Producer Library KPL ().

Registros

Neste guia, distinguimos entre registros de KPLusuários e registros do Kinesis Data Streams. Quando usamos o termo registro sem um qualificador, nos referimos a um registro de KPL usuário. Um registro do Kinesis Data Streams será explicitamente chamado de registro do Kinesis Data Streams.

Um registro de KPL usuário é uma bolha de dados que tem um significado particular para o usuário. Os exemplos incluem um JSON blob representando um evento de interface de usuário em um site ou uma entrada de registro de um servidor web.

Um registro do Kinesis Data Streams é uma instância Record da estrutura de dados definida pelo serviço Kinesis Data Streams. API Ele contém uma chave de partição, um número sequencial e um blob de dados.

Agrupamento em lotes

Envio em lotes refere-se à execução de uma única ação em vários itens, em vez de executar a ação repetidamente em cada item.

Nesse contexto, o “item” é um registro, e a ação é seu envio ao Kinesis Data Streams. Em uma situação sem lotes, você colocaria cada registro em um registro separado do Kinesis Data Streams e faria HTTP uma solicitação para enviá-lo ao Kinesis Data Streams. Com o agrupamento em lotes, cada HTTP solicitação pode conter vários registros em vez de apenas um.

O KPL suporta dois tipos de lotes:

  • Agregação: armazenamento de vários registros em um único registro do Kinesis Data Streams.

  • Coleta — Usando a API operação PutRecords para enviar vários registros do Kinesis Data Streams para um ou mais fragmentos em seu stream de dados do Kinesis.

Os dois tipos de KPL lotes foram projetados para coexistir e podem ser ativados ou desativados independentemente um do outro. Por padrão, ambos estão ativados.

Agregação

A agregação refere-se ao armazenamento de vários registros em um registro do Kinesis Data Streams. A agregação permite que os clientes aumentem o número de registros enviados por API chamada, o que aumenta efetivamente a produtividade do produtor.

Os fragmentos do Kinesis Data Streams oferecem suporte a até 1.000 registros do Kinesis Data Streams por segundo, ou uma throughput de 1 MB. O limite de registros por segundo do Kinesis Data Streams restringe clientes com registros menores que 1 KB. A agregação de registros permite aos clientes combinar vários registros em um único registro do Kinesis Data Streams. Isso permite que os clientes melhorem a própria throughput por estilhaço.

Considere o caso de um estilhaço na região us-east-1 que está atualmente em execução à taxa constante de 1.000 registros por segundo, com registros de 512 bytes cada. Com KPL a agregação, você pode empacotar 1.000 registros em apenas 10 registros do Kinesis Data Streams, RPS reduzindo-os para 10 (com 50 KB cada).

Coleta

A coleta se refere ao agrupamento em lote de vários registros do Kinesis Data Streams e ao envio deles em uma HTTP única solicitação com uma chamada para a API PutRecords operação, em vez de enviar cada registro do Kinesis Data Streams em sua própria solicitação. HTTP

Isso aumenta a produtividade em comparação com o uso de nenhuma coleta, pois reduz a sobrecarga de fazer muitas solicitações separadasHTTP. Na verdade, PutRecords, por si só, foi projetado especificamente para essa finalidade.

A coleta difere da agregação porque opera com grupos de registros do Kinesis Data Streams. Os registros do Kinesis Data Streams coletados ainda podem conter vários registros do usuário. O relacionamento pode ser visualizado da seguinte maneira:

record 0 --| record 1 | [ Aggregation ] ... |--> Amazon Kinesis record 0 --| ... | | record A --| | | ... ... | | record K --| | record L | | [ Collection ] ... |--> Amazon Kinesis record C --|--> PutRecords Request ... | | record S --| | | ... ... | | record AA--| | record BB | | ... |--> Amazon Kinesis record M --| ... | record ZZ--|