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á.
Escolha o modo certo para transmitir
Os tópicos a seguir explicam como escolher o melhor modo de capacidade para sua aplicação e como alternar entre os modos, se necessário.
Tópicos
Quais são os diferentes modos no Kinesis Data Streams?
Um modo determina como a capacidade de um fluxo de dados é gerenciada e como são geradas cobranças pelo uso do fluxo de dados. No Amazon Kinesis Data Streams, você pode escolher On-demand Standard , On-demand Advantage e Provisioned como o modo para seus streams de dados.
-
On-demand Padrão — os fluxos de dados com um modo sob demanda não exigem planejamento de capacidade e são dimensionados automaticamente para lidar com gigabytes de taxa de transferência de gravação e leitura por minuto. No modo sob demanda, o Kinesis Data Streams gerencia automaticamente os fragmentos para fornecer o throughput necessário.
-
On-demand Vantagem — Um modo em nível de conta que oferece mais recursos e fornece uma estrutura de preços mais simples para streams sob demanda. Nesse modo, você pode aquecer proativamente a capacidade de throughput de gravação de um stream a qualquer momento. Você também pode acionar uma redução de escala se uma explosão transitória de dados fizer com que o fluxo se expanda significativamente além de sua capacidade de aquecimento. Quanto aos preços, não há mais uma cobrança fixa para cada stream. A ingestão de dados, a recuperação de dados e o uso estendido da retenção em todos os fluxos sob demanda são pelo menos 60% menores do que no Standard. On-demand
-
Provisionado: para fluxos de dados com um modo provisionado, é necessário especificar o número de fragmentos para o fluxo de dados. A capacidade total de um fluxo de dados é a soma das capacidades de seus fragmentos. É possível aumentar ou diminuir o número de fragmentos em um fluxo de dados de acordo com a necessidade.
Pode-se usar as APIs PutRecord e PutRecords do Kinesis Data Streams para gravar dados nos fluxos de dados em qualquer modo. Para recuperar dados, todos os três modos oferecem suporte a consumidores padrão que usam a GetRecords API e consumidores aprimorados Fan-Out (EFO) que usam a SubscribeToShard API.
Todos os recursos do Kinesis Data Streams, incluindo modo de retenção, criptografia, métricas de monitoramento e outros, são compatíveis com os modos sob demanda e provisionado. O Kinesis Data Streams fornece alta durabilidade e disponibilidade nos modos de capacidade sob demanda e provisionada.
On-demand Recursos e casos de uso do modo padrão
Os fluxos de dados no modo sob demanda não exigem planejamento de capacidade e são dimensionados automaticamente para lidar com gigabytes de taxa de transferência de gravação e leitura por minuto. On-demand o modo simplifica a ingestão e o armazenamento de grandes volumes de dados com baixa latência, pois elimina o provisionamento e o gerenciamento de servidores, armazenamento ou taxa de transferência. É possível pode ingerir bilhões de registros por dia sem nenhuma sobrecarga operacional.
On-demand o modo é ideal para atender às necessidades de tráfego de aplicativos altamente variável e imprevisível. Você não precisa mais provisionar essas cargas de trabalho para obter capacidade máxima, o que pode resultar em custos mais altos devido à baixa utilização. On-demand o modo é adequado para cargas de trabalho com padrões de tráfego imprevisíveis e altamente variáveis.
Com o modo de capacidade sob demanda, a cobrança é feita por GB de dados gravados e lidos em seus fluxos de dados. Não é necessário especificar o throughput de leitura e gravação que espera que a aplicação execute. O Kinesis Data Streams ajusta-se instantaneamente ao crescimento e à redução das workloads. Para obter mais informações, consulte Definição de preço do Amazon Kinesis Data Streams
Um fluxo de dados no modo sob demanda acomoda até o dobro do pico de throughput de gravação observado nos 30 dias anteriores. Quando o throughput de gravação do fluxo de dados atinge um novo pico, o Kinesis Data Streams escala automaticamente a capacidade do fluxo de dados. Por exemplo, se seu stream de dados tem uma taxa de transferência de gravação que varia entre 10 MB/s e 40 MB/s, o Kinesis Data Streams garante que você possa facilmente aumentar para o dobro do pico de taxa de transferência anterior, ou 80. MB/s Se o mesmo fluxo de dados sustentar um novo pico de taxa de transferência de 50 MB/s, o Kinesis Data Streams garante que haja capacidade suficiente para ingerir 100% da taxa de transferência de gravação. MB/s No entanto, poderá ocorrer controle de utilização se o tráfego aumentar para mais que o dobro do pico anterior em um período de 15 minutos. É necessário repetir as solicitações em controle de utilização.
A capacidade de leitura de agregados de um fluxo de dados no modo sob demanda aumenta proporcionalmente com o throughput de gravação. Isso ajuda a garantir que as aplicações de consumo sempre tenham um throughput de leitura adequado para processar os dados recebidos em tempo real. Obtém-se pelo menos o dobro do throughput de gravação em comparação com os dados de leitura usando a API GetRecords. Recomenda-se o uso de uma aplicação de consumo com a API GetRecord, para permitir espaço suficiente quando a aplicação precisar se recuperar de tempo de inatividade. É recomendável usar o Fan-Out recurso Avançado do Kinesis Data Streams para cenários que exijam a adição de mais de um aplicativo de consumo. Fan-Out O aprimorado suporta a adição de até 20 aplicativos de consumo a um fluxo de dados usando a SubscribeToShard API, com cada aplicativo de consumidor tendo uma taxa de transferência dedicada.
Tratar exceções de throughput de leitura e gravação
Com o modo sob demanda (da mesma forma que com o modo de capacidade provisionada), é necessário especificar uma chave de partição com cada registro para gravar dados no fluxo de dados. O Kinesis Data Streams usa suas chaves de partição para distribuir dados entre fragmentos. O Kinesis Data Streams monitora o tráfego de cada fragmento. Quando o tráfego de entrada ultrapassa 500 KB/s por fragmento, ele divide o fragmento em 15 minutos. Os valores da chave de hash do fragmento pai são redistribuídos uniformemente entre os fragmentos filho.
Se o tráfego de entrada exceder o dobro do pico anterior, poderão ocorrer exceções de leitura ou gravação por cerca de 15 minutos, mesmo quando os dados forem distribuídos uniformemente entre os fragmentos. Recomenda-se repetir todas essas solicitações para que todos os registros sejam armazenados adequadamente no Kinesis Data Streams.
As exceções de leitura e gravação podem ocorrer ao usar uma chave de partição que causa uma distribuição desigual de dados, e os registros atribuídos a um fragmento específico excedem seus limites. Com o modo sob demanda, o fluxo de dados se adapta automaticamente para lidar com padrões desiguais de distribuição de dados, a menos que uma única chave de partição exceda os limites de 1 MB/s taxa de transferência e 1.000 registros por segundo de um fragmento.
No modo sob demanda, o Kinesis Data Streams divide os fragmentos uniformemente quando detecta um aumento no tráfego. No entanto, ele não detecta nem isola as chaves de hash que estão direcionando uma parte maior do tráfego de entrada para um fragmento específico. Ao usar chaves de partição altamente desiguais, as exceções de gravação poderão continuar ocorrendo. Para esses casos de uso, é recomendável usar o modo de capacidade provisionada que oferece suporte a divisões granulares de fragmentos.
On-demand Recursos e casos de uso do modo Advantage
On-demand O Advantage é uma configuração em nível de conta que libera mais recursos e fornece uma estrutura de preços diferente para todos os streams sob demanda na região. Nesse modo, os fluxos sob demanda retêm sua funcionalidade e continuam a escalar automaticamente a capacidade com base no uso real dos dados. Se você quiser aquecer proativamente a capacidade de throughput de gravação de um fluxo, você pode configurar o throughput aquecido. Por exemplo, se seu fluxo de dados tiver uma taxa de transferência de gravação entre 10 MB/s e 40 MB/s, você pode esperar que ele processe até 5 aumentos instantâneos 80MB/s de taxa de transferência sem limitação. No entanto, se você prevê que um evento futuro atinja o pico 200MB/s de tráfego, você pode configurar o fluxo com uma taxa de transferência quente de 200MB/s para garantir que a capacidade esteja disponível quando a taxa de transferência de dados chegar. O uso de uma taxa de transferência quente não acarreta nenhum custo adicional. Se uma explosão transitória de dados fez com que o fluxo escalasse além de sua capacidade de aquecimento, você poderá acionar uma redução de escala. Para fazer isso, reconfigure a taxa de transferência quente do stream para o mesmo valor ou para um valor menor. A capacidade do stream diminui para o número solicitado ou para a quantidade necessária para suportar o pico de uso da ingestão de dados na última hora, o que for maior.
Outro benefício do modo On-demand Advantage é que os fluxos sob demanda fazem a transição para uma estrutura de preços mais simples. Com o modo ativado, você não vê mais cobranças fixas por stream e lida apenas com ingestão de dados, recuperação de dados e cobranças opcionais de retenção estendida. Cada dimensão de preço também tem um desconto significativo em comparação com a dimensão correspondente no On-demand Standard. Para obter mais informações, consulte Definição de preço do Amazon Kinesis Data Streams
As recuperações de dados com distribuição avançada também não têm um preço superior em comparação com as recuperações de dados padrão nesse modo. Além disso, com o modo On-demand Advantage, você pode registrar até 50 consumidores por stream para usar o fan-out aprimorado. O On-demand Enabling Advantage compromete a conta com pelo menos 25MiB/s a ingestão e a recuperação 25MiB/s de dados em todos os fluxos sob demanda. Para contas que atendem ao requisito mínimo de uso, o console do Kinesis Data Streams verifica se os padrões de uso da sua conta seriam adequados para usar o modo On-demand Advantage.
Se o uso de dados da sua conta estiver abaixo do exigido, você pagará a diferença como um déficit, mas ainda assim terá a mesma taxa de desconto. O On-demand Enabling Advantage também tem um período mínimo de 24 horas antes que você possa desativar o modo. No geral, o On-demand Advantage é a melhor maneira de transmitir com o Kinesis Data Streams se você tiver um uso consistente de taxa de transferência próximo ou acima do compromisso mínimo, precisar de muitos consumidores distribuídos ou operar com centenas de fluxos de dados.
Casos de uso e atributos do modo provisionado
Com o modo provisionado, depois de criar o fluxo de dados, você pode aumentar ou diminuir dinamicamente sua capacidade de fragmentos usando a ou a Console de gerenciamento da AWS API. UpdateShardCount É possível fazer atualizações enquanto uma aplicação de produção ou de consumo do Kinesis Data Streams grava ou lê dados do fluxo.
O modo provisionado é adequado para tráfego com requisitos de capacidade fáceis de prever. É possível usar o modo provisionado quando quiser ter um controle refinado da distribuição dos entre os fragmentos.
No modo provisionado, é necessário especificar o número de fragmentos para o fluxo de dados. Para determinar o tamanho inicial de um fluxo de dados, os seguintes valores de entrada são necessários:
-
O tamanho médio do registro de dados gravado no fluxo em kilobytes (KB), arredondado para o 1 KB mais próximo (
average_data_size_in_KB). -
O número de registros de dados gravados e lidos no fluxo por segundo (
records_per_second). -
O número de consumidores, que são as aplicações do Kinesis Data Streams que consomem dados de forma simultânea e independente do fluxo (
number_of_consumers). -
A largura de banda de gravação de entrada em KB (
incoming_write_bandwidth_in_KB), que é igual aaverage_data_size_in_KBmultiplicado porrecords_per_second. -
A largura de banda de leitura de saída em KB (
outgoing_read_bandwidth_in_KB), que é igual aincoming_write_bandwidth_in_KBmultiplicado pornumber_of_consumers.
É possível calcular o número dos fragmentos (number_of_shards) necessários para o fluxo usando os valores de entrada na seguinte fórmula:
number_of_shards = ceiling(max(incoming_write_bandwidth_in_KiB/1024, outgoing_read_bandwidth_in_KiB/2048))
Ainda será possível ocorrer exceções de throughput de leitura e gravação no modo provisionado se o fluxo de dados não for configurado para lidar com o throughput máximo. Nesse caso, será preciso escalar manualmente o fluxo para acomodar o tráfego de dados.
As exceções de leitura e gravação também podem ocorrer ao usar uma chave de partição que causa uma distribuição desigual de dados, e os registros atribuídos a um fragmento excedem seus limites. Para resolver esse problema no modo provisionado, identifique esses fragmentos e divida-os manualmente para acomodar melhor o tráfego. Para obter mais informações, consulte Resharding a Stream.
Alternar entre os modos
Para cada fluxo de dados em seu Conta da AWS, você pode alternar entre os modos sob demanda e provisionado duas vezes em 24 horas. Alternar entre os modos não causa nenhuma interrupção nas aplicações que usam esse fluxo de dados. É possível continuar gravando e lendo o fluxo de dados. Durante a alternância entre os modos, de sob demanda para provisionado ou vice-versa, o status do fluxo é definido como Atualizando. É necessário esperar que o status do fluxo de dados passe a Ativo antes de tentar modificar suas propriedades novamente.
Ao mudar do modo de capacidade provisionada para o modo de capacidade sob demanda, o fluxo de dados retém inicialmente a quantidade de fragmentos que tinha antes da transição. A partir desse momento, o Kinesis Data Streams monitora o tráfego de dados e escala a contagem de fragmentos do fluxo de dados sob demanda de acordo com o throughput de gravação. Ao alternar do modo sob demanda para o provisionado, o fluxo de dados também retém inicialmente a quantidade de fragmentos que tinha antes da transição. Mas, a partir desse momento, você passa a ser responsável por monitorar e ajustar a contagem de fragmentos do fluxo de dados para acomodar o throughput de gravação da forma apropriada.
Você pode alternar do modo On-demand Padrão para o Modo On-demand Vantagem ativando uma configuração no nível da conta. Quando ativada, a conta se compromete com pelo menos a ingestão 25MiB/s de dados e o uso 25MiB/s da recuperação de dados em todos os fluxos sob demanda na região. Depois de habilitá-lo, você deve esperar pelo menos 24 horas antes de desativar o On-demand Advantage, mas você pode solicitar a alteração a qualquer momento. Se você quiser mudar do On-demand Advantage para o On-demand Standard, primeiro remova qualquer taxa de transferência quente configurada em fluxos sob demanda.