Controle de utilização de fonte ou upstream de um fluxo de dados do Kinesis - Managed Service for Apache Flink

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 GetRecordschamada. 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: