O Amazon Managed Service para Apache Flink (Amazon MSF) era conhecido anteriormente 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 GetRecords
chamada (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ê pode fazer uma das duas coisas para resolver esse cenário:
Diminua o limite padrão para o número de registros buscados por chamada
GetRecords
Habilite 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