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 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. Ao usar o termo registro sem um qualificador, fazemos referência a um registro de usuário da KPL. Um registro do Kinesis Data Streams será explicitamente chamado de registro do Kinesis Data Streams.
Um registro de usuário da KPL é um blob de dados que tem significado específico 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.
A KPL aceita dois tipos de agrupamento em 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 agrupamento em lotes da KPL são projetados para coexistir e podem ser ativados ou desativados de forma independente. Por padrão, ambos sã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 fragmento.
Considere o caso de um fragmento na região us-east-1 que atualmente está sendo executado a uma 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--|