Kinesis Streams

Introdução

O Amazon Kinesis Data Streams consome uma grande quantidade de dados em tempo real, armazena os dados de forma durável e os torna disponíveis para consumo. A unidade de dados armazenada pelo Kinesis Data Streams é um registro de dados. Um streamrepresenta uma sequência ordenada de registros de dados. Os registros de dados em um stream são distribuídas em shards (fragmentos).

Uma shard é um grupo de registros de dados em um stream. Quando você cria um stream, você especifica o número de shards desse stream. Cada shard pode suportar até 5 transações por segundo para leituras, até uma taxa total máxima de leitura de dados de 2 MB por segundo. Shards também suportam até 1.000 registros por segundo para gravações, até uma taxa total máxima de gravação de dados de 1 MB por segundo (inclusive chaves de partição). A capacidade total de um stream é a soma das capacidades de suas shards. Você pode aumentar ou diminuir o número de shards em um stream de acordo com a necessidade. No entanto, você é cobrado por shard (e muito bem cobrado).

Um produtor coloca registros de dados em shards e um consumidor obtém registros de dados a partir delas.

Como determinar o tamanho inicial do Kinesis Stream

Antes de criar um stream, você precisa determinar um tamanho inicial para ele. Depois de criá-lo, você pode aumentar ou diminuir dinamicamente a capacidade de seu shard usando o Console de gerenciamento da AWS ou a API UpdateShardCount. Você pode fazer atualizações enquanto houver umaAmazon Kinesis Data Streams application consumindo dados do stream.

Para determinar o tamanho inicial de um stream, você precisa dos seguintes valores de entrada:

  • O tamanho médio do registro de dados gravado no stream do em kilobytes (KB) arredondando para o próximo 1 KB, o tamanho dos dados (average_data_size_in_KB).
  • O número de registros de dados gravados e lidos no stream por segundo (records_per_second).
  • O número de Amazon Kinesis Data Streams applications que consomem dados simultânea e independentemente do stream, ou seja, os consumidores (number_of_consumers).
  • A largura de banda de gravação de entrada em KB (incoming_write_bandwidth_in_KB), que é igual a average_data_size_in_KBmultiplicado por records_per_second.
  • A largura de banda de leitura de saída em KB (outgoing_read_bandwidth_in_KB), que é igual a incoming_write_bandwidth_in_KBmultiplicado por number_of_consumers.

Você pode calcular o número inicial de shards (number_of_shards) que seu stream precisará usando os valores de entrada na seguinte fórmula:

number_of_shards = max(incoming_write_bandwidth_in_KB/1000, outgoing_read_bandwidth_in_KB/2000)

Criar um Stream

Você pode criar um stream usando o console do Kinesis Data Streams, a API do Kinesis Data Streams ou a AWS CLI.

Para criar um stream usando o console

  1. Abra o console do Kinesis Data Streams em https://console.aws.amazon.com/kinesis/.
  2. Na barra de navegação, expanda o seletor de região e escolha uma região.
  3. Selecione Create Stream.
  4. Na página Create Stream, insira um nome para o stream e o número de shards necessárias e, em seguida, clique em Criar.

    Na página Stream List, o Status de seu stream será CREATING enquanto ele estiver sendo criado. Quando o stream fica pronto para uso, o Status é alterado para ACTIVE.

  5. Escolha o nome do fluxo. A página Stream Details exibe um resumo da configuração do fluxo com informações de monitoramento.

Para criar um stream usando a API do Kinesis Data Streams

  • Para obter informações sobre a criação de um stream usando a API do Kinesis Data Streams, consulte Criar um stream.

Para criar um stream usando a AWS CLI

  • Para obter mais informações sobre a criação de um stream usando a AWS CLI, consulte o comando create-stream.

Atualizar um Stream

Você pode atualizar os detalhes de um stream usando o console do Kinesis Data Streams, a API do Kinesis Data Streams ou a AWS CLI.

nota

Você pode ativar a criptografia no lado do servidor para streams existentes ou para os recém-criados.

Para atualizar um stream usando o console

  1. Abra o console do Kinesis Data Streams em https://console.aws.amazon.com/kinesis/.
  2. Na barra de navegação, expanda o seletor de região e selecione uma região.
  3. Escolha o nome do fluxo. A página Stream Details exibe um resumo das informações de configuração e monitoramento do stream.
  4. Para editar o número de shards, selecione Editar na seção shards e, em seguida, insira uma nova shard.
  5. Para ativar a criptografia de registros de dados no lado do servidor, selecione Editar na seção de Criptografia no lado do servidor. Escolha uma chave do KMS para usar como chave mestra de criptografia, ou use a chave mestra padrão, aws/kinesis, gerenciada pelo Kinesis. Se você ativar a criptografia para um stream e usar sua própria chave mestra do KMS, seus aplicativos produtores e consumidores precisam ter acesso à chave mestra do KMS que você usou. Para atribuir permissões a um aplicativo para acessar uma chave do KMS gerado pelo usuário, consulte Permissões para usar as chaves mestras do KMS geradas pelo usuário
  6. Para editar o período de retenção de dados, selecione Editar na seção de Período de retenção de dados e, em seguida, insira um novo período de retenção de dados.
  7. Se você tiver ativado as métricas personalizadas na sua conta, selecione Editar na seção Métricas em nível de shard e, em seguida, especifique as métricas de seu stream. Para obter mais informações, consulte Monitorar o serviço do Amazon Kinesis Data Streams com o Amazon CloudWatch.

Atualizar um Stream usando a API

Para atualizar os detalhes do stream usando a API, consulte os seguintes métodos:

 

Leave a Reply