Anteriormente, o Amazon Managed Service for Apache Flink (Amazon MSF) era conhecido como Amazon Kinesis Data Analytics for Apache Flink.
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á.
Controle de utilização de fonte ou upstream de um fluxo de dados do Kinesis
Sintoma: o aplicativo detecta LimitExceededExceptions a partir da fonte upstream do fluxo de dados do Kinesis.
Causa provável: a configuração padrão do conector Kinesis da biblioteca Apache Flink é definida para leitura da fonte do fluxo de dados do Kinesis com uma configuração padrão muito agressiva para o número máximo de registros buscados por chamada GetRecords. O Apache Flink é configurado por padrão para buscar 10.000 registros por chamada GetRecords (essa chamada é feita por padrão a cada 200 ms), embora o limite por fragmento seja de apenas 1.000 registros.
Esse comportamento padrão pode levar ao controle de utilização ao tentar consumir do fluxo de dados do Kinesis, o que afetará o desempenho e a estabilidade dos aplicativos.
Você pode confirmar isso verificando a CloudWatch ReadProvisionedThroughputExceeded métrica e vendo períodos prolongados ou sustentados em que essa métrica é maior que zero.
Você também pode ver isso nos CloudWatch registros do seu aplicativo Amazon Managed Service for Apache Flink observando erros contínuos. LimitExceededException
Resolução: você tem duas opções para resolver esse cenário:
Diminuir o limite padrão para o número de registros buscados por chamada de
GetRecordsHabilitar as leituras adaptáveis em seu aplicativo Amazon Managed Service for Apache Flink. Para obter mais informações sobre o recurso Adaptive Reads, consulte SHARD_USE_ADAPTIVE_READS