Desenvolva consumidores de distribuição aprimorados com taxa de transferência dedicada - 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á.

Desenvolva consumidores de distribuição aprimorados com taxa de transferência dedicada

No Amazon Kinesis Data Streams, é possível criar consumidores que usem um recurso chamado distribuição avançada. Esse recurso permite que os consumidores recebam registros de um stream com taxa de transferência de até 2 MB de dados por segundo por fragmento. Essa throughput é dedicada, o que significa que consumidores que usam a divisão avançada não precisam lidar com outros consumidores que estejam recebendo dados do fluxo. O Kinesis Data Streams envia registros de dados do fluxo para consumidores que usam a distribuição avançada. Portanto, esses consumidores não precisam sondar dados.

Importante

É possível registrar até vinte consumidores por fluxo para usar distribuição avançada.

O diagrama a seguir mostra a arquitetura de distribuição avançada. Se você usa a versão 2.0 ou posterior da Amazon Kinesis Client Library (KCL) para criar um consumidor, ela KCL configura o consumidor para usar o fan-out aprimorado para receber dados de todos os fragmentos do stream. Se você usar o API para criar um consumidor que usa fan-out aprimorado, poderá assinar fragmentos individuais.

Diagrama do fluxo de trabalho que mostra a arquitetura de distribuição avançada com dois fragmentos e dois consumidores. Cada um dos dois consumidores está usando a distribuição avançada para receber dados dos dois fragmentos do fluxo.

O diagrama mostra o seguinte:

  • Um fluxo com dois fragmentos.

  • Dois consumidores que estão usando a distribuição avançada para receber dados do fluxo: consumidores X e Y. Os dois consumidores estão inscritos em todos os fragmentos e em todos os registros do fluxo. Se você usar a versão 2.0 ou posterior do KCL para criar um consumidor, ele KCL inscreverá automaticamente esse consumidor em todos os fragmentos do stream. Por outro lado, se você usar o API para criar um consumidor, poderá assinar fragmentos individuais.

  • Setas que representam as distribuições avançadas usadas pelos consumidores para receber dados do fluxo. Uma distribuição avançada oferece até 2 MB/s de dados por fragmento, independentemente de qualquer outro dado ou do número total de consumidores.

Diferenças entre o compartilhamento por todo o consumidor e o consumidor distribuído aprimorado

A tabela a seguir compara consumidores de taxa de transferência compartilhada padrão com consumidores de expansão aprimorados. O atraso na propagação da mensagem é definido como o tempo gasto em milissegundos para que uma carga útil enviada usando o despacho de carga útil (como e) chegue ao aplicativo consumidor por meio da carga útil consumidora APIs (como PutRecord ePutRecords). APIs GetRecords SubscribeToShard

Esta tabela compara consumidores com taxa de transferência compartilhada com consumidores avançados
Características Consumidores de taxa de transferência compartilhada sem distribuição aprimorada Consumidores de fan-out aprimorados
Throughput de leitura

Corrigido em um total de 2MB/sec per shard. If there are multiple consumers reading from the same shard, they all share this throughput. The sum of the throughputs they receive from the shard doesn't exceed 2 MB/sec.

Dimensionada de acordo com o registro dos consumidores para usar a distribuição avançada. Cada consumidor registrado para usar a distribuição avançada recebe sua própria throughput de leitura por fragmento, de até 2 MB/s, independentemente de outros consumidores.

Atraso de propagação da mensagem

Uma média de cerca de 200 ms se houver um consumidor lendo no fluxo. Essa média chega até cerca de 1000 ms se houver cinco consumidores.

Normalmente, uma média de 70 ms se houver um ou cinco consumidores.

Custo Não aplicável

Há um custo de recuperação de dados e um custo de hora de fragmento por consumidor. Para obter mais informações, consulte Definição de preço do Amazon Kinesis Data Streams.

Registro de modelo de entrega

Pare de HTTP usar o modelo GetRecords.

O Kinesis Data Streams envia os registros para você HTTP mais de /2 usando o. SubscribeToShard