Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Obtenha prontidão de produção para seu serviço gerenciado para aplicativos Apache Flink

Modo de foco
Obtenha prontidão de produção para seu serviço gerenciado para aplicativos Apache Flink - 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á.

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á.

Essa é uma coleção de aspectos importantes da execução de aplicativos de produção no Managed Service for Apache Flink. Não é uma lista exaustiva, mas sim o mínimo que você deve prestar atenção antes de colocar um aplicativo em produção.

Teste a carga de seus aplicativos

Alguns problemas com aplicativos só se manifestam sob carga pesada. Vimos casos em que os aplicativos pareciam saudáveis, mas um evento operacional amplificou substancialmente a carga sobre o aplicativo. Isso pode acontecer de forma totalmente independente do próprio aplicativo. Se a fonte de dados ou o coletor de dados ficar indisponível por algumas horas, o aplicativo Flink não poderá progredir. Quando esse problema é corrigido, há um acúmulo de dados não processados que se acumulam, o que pode esgotar completamente os recursos disponíveis. A carga pode então amplificar bugs ou problemas de desempenho que não haviam surgido antes.

Portanto, é essencial que você execute testes de carga adequados para aplicativos de produção. As perguntas que devem ser respondidas durante esses testes de carga incluem:

  • O aplicativo é estável sob alta carga sustentada?

  • O aplicativo ainda pode salvar em um ponto de salvamento sob carga máxima?

  • Quanto tempo leva para processar um backlog de 1 hora? E por quanto tempo durante 24 horas (dependendo da retenção máxima dos dados no fluxo)?

  • O throughput do aplicativo aumenta quando o aplicativo é escalado?

Ao consumir de um fluxo de dados, esses cenários podem ser simulados produzindo no fluxo por algum tempo. Em seguida, inicie o aplicativo e faça com que ele consuma dados desde o início dos tempos. Por exemplo, use uma posição inicial de TRIM_HORIZON no caso de um stream de dados do Kinesis.

Defina o paralelismo máximo

O paralelismo máximo define o paralelismo máximo para o qual um aplicativo com estado pode ser escalado. Isso é definido quando o estado é criado pela primeira vez e não há como escalar o operador além desse máximo sem descartar o estado.

O paralelismo máximo é definido quando o estado é criado pela primeira vez.

Por padrão, o paralelismo máximo é definido como:

  • 128, se o paralelismo for <= 128

  • MIN(nextPowerOfTwo(parallelism + (parallelism / 2)), 2^15): se o paralelismo for > 128

Se você planeja escalar seu aplicativo > 128 paralelismo, você deve definir explicitamente o paralelismo máximo.

Você pode definir o paralelismo máximo no nível do aplicativo, com um único env.setMaxParallelism(x) operador. A menos que especificado de outra forma, todos os operadores herdam o paralelismo máximo do aplicativo.

Para obter mais informações, consulte Definindo o paralelismo máximo na documentação do Apache Flink.

Defina um UUID para todos os operadores

A UUID é usado na operação na qual o Flink mapeia um ponto de salvamento de volta para um operador individual. Definir um específico UUID para cada operador fornece um mapeamento estável para a restauração do processo de ponto de salvamento.

.map(...).uid("my-map-function")

Para obter mais informações, consulte Lista de verificação de prontidão de produção.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.