Limpar os recursos - Amazon Kinesis Data Streams

Limpar os recursos

Como a utilização do fluxo de dados do Kinesis é paga, certifique-se de excluí-la e de excluir a tabela do Amazon DynamoDB correspondente ao concluir. As cobranças nominais ocorrerão em um fluxo ativo mesmo quando não houver envio e recebimento de registros. Isso ocorre porque um fluxo ativo usa recursos por meio da "escuta" contínua de registros recebidos e solicitações para obter registros.

Para excluir o fluxo e tabela
  1. Desligue os produtores e consumidores que possam estar em execução.

  2. Abra o console do Kinesis em https://console.aws.amazon.com/kinesis.

  3. Escolha o fluxo criado para esta aplicação (StockTradeStream).

  4. Escolha Excluir fluxo.

  5. Abra o console do DynamoDB em https://console.aws.amazon.com/dynamodb/.

  6. Exclua a tabela StockTradesProcessor.

Resumo

Para processar uma grande quantidade de dados quase em tempo real, não é preciso escrever nenhum código complicado nem desenvolver uma imensa infraestrutura. Isso é tão básico quanto escrever lógica para processar uma pequena quantidade de dados (como escrever processRecord(Record)), mas usando o Kinesis Data Streams para escalar e ter um processo que funciona para uma grande quantidade de dados de fluxo. Não há necessidade de se preocupar com a escalabilidade do processamento, porque o Kinesis Data Streams cuida de tudo. Basta enviar os registros de fluxo ao Kinesis Data Streams e escrever a lógica para processar cada novo registro recebido.

Veja aqui alguns aprimoramentos potenciais para este aplicativo.

Agregar em todos os fragmentos

Atualmente, obtém-se estatísticas resultantes da agregação de registros de dados recebidos por um único operador proveniente de um único fragmento. (Um fragmento não pode ser processado por mais de um operador em um aplicativo ao mesmo tempo). Naturalmente, ao escalar havendo mais de um fragmento, pode ser desejável agregar em todos os fragmentos. É possível fazer isso tendo uma arquitetura de pipeline em que a saída de cada operador é alimentada em outro fluxo com um único fragmento, o qual é processado por um operador que agrega as saídas do primeiro estágio. Como os dados do primeiro estágio são limitados (um exemplo por minuto por fragmento), eles podem ser facilmente tratados por um fragmento.

Escalar o processamento

Quando o fluxo é expandido para ter muitos fragmentos (porque muitos produtores estão enviando dados), a maneira de escalar o processamento é adicionando mais operadores. É possível executar os operadores em instâncias do Amazon EC2 e usar grupos do Auto Scaling.

Usar conectores para Amazon S3/DynamoDB/Amazon Redshift/Storm

Como um fluxo é processado continuamente, sua saída pode ser enviada para outros destinos. A AWSfornece conectores para integrar o Kinesis Data Streams a outros serviços da AWS e ferramentas de terceiros.