Anteriormente, o Amazon Managed Service for Apache Flink 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 potencial: 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 GetRecords
chamada. 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 à limitaçã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