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á.
Implemente a tolerância a falhas no Managed Service for Apache Flink
O ponto de verificação é o método usado para implementar a tolerância a falhas no Amazon Managed Service for Apache Flink. Um ponto de verificação é um up-to-date backup de um aplicativo em execução que é usado para se recuperar imediatamente de uma interrupção ou failover inesperado do aplicativo.
Para obter detalhes sobre pontos de verificação em aplicativos Apache Flink, consulte Pontos de verificação
Um snapshot é um backup do estado do aplicativo criado e gerenciado manualmente. Os snapshots permitem que você restaure seu aplicativo para um estado anterior chamando UpdateApplication
. Para obter mais informações, consulte Gerencie backups de aplicativos usando instantâneos.
Se o ponto de verificação estiver habilitado para seu aplicativo, o serviço fornecerá tolerância a falhas criando e carregando backups dos dados do aplicativo no caso de reinicializações inesperadas do aplicativo. Essas reinicializações inesperadas de aplicativos podem ser causadas por reinicializações inesperadas de tarefas, falhas de instância etc. Isso dá ao aplicativo a mesma semântica da execução sem falhas durante essas reinicializações.
Se os instantâneos estiverem habilitados para o aplicativo e configurados usando os do aplicativo ApplicationRestoreConfiguration, o serviço fornecerá uma semântica de processamento exatamente uma vez durante as atualizações do aplicativo ou durante a escalabilidade ou a manutenção relacionados ao serviço.
Configurar o ponto de verificação no Managed Service para Apache Flink
Você pode configurar o comportamento de ponto de verificação do seu aplicativo. Você pode definir se ele persiste no estado de ponto de verificação, com que frequência ele salva seu estado nos pontos de verificação e o intervalo mínimo entre o final de uma operação de ponto de verificação e o início de outra.
Você define as seguintes configurações usando as UpdateApplication
APIoperações CreateApplication
ou:
-
CheckpointingEnabled
: indica se o ponto de verificação está ativado no aplicativo. -
CheckpointInterval
: contém o tempo em milissegundos entre as operações do ponto de verificação (persistência). -
ConfigurationType
: defina esse valor paraDEFAULT
para usar o comportamento do ponto de verificação padrão. Defina esse valor paraCUSTOM
para configurar outros valores.nota
O comportamento padrão do ponto de verificação é o seguinte:
CheckpointingEnabled: verdadeiro
CheckpointInterval: 60000
MinPauseBetweenCheckpoints: 5000
Se ConfigurationTypeestiver definido como
DEFAULT
, os valores anteriores serão usados, mesmo que sejam definidos para outros valores usando o AWS Command Line Interface ou definindo os valores no código do aplicativo.nota
Para o Flink 1.15 em diante, o Managed Service for Apache Flink usará
stop-with-savepoint
durante a criação automática de instantâneos, ou seja, a atualização, a escalabilidade ou a parada do aplicativo. -
MinPauseBetweenCheckpoints
: o tempo mínimo em milissegundos entre o final de uma operação de ponto de verificação e o início de outra. Definir esse valor impede o aplicativo de verificar continuamente quando uma operação de ponto de verificação levar mais tempo do queCheckpointInterval
.
Analise exemplos de pontos de verificação API
Esta seção inclui exemplos de solicitações de API ações para configurar o ponto de verificação para um aplicativo. Para obter informações sobre como usar um JSON arquivo como entrada para uma API ação, consulteCódigo de exemplo do Managed Service for Apache Flink API.
Configurar o ponto de verificação para um novo aplicativo
O exemplo de solicitação a seguir para a ação CreateApplication
configura o ponto de verificação quando você está criando um aplicativo:
{ "ApplicationName": "MyApplication", "RuntimeEnvironment":"FLINK-1_19", "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::mybucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "FlinkApplicationConfiguration": { "CheckpointConfiguration": { "CheckpointingEnabled": "true", "CheckpointInterval": 20000, "ConfigurationType": "CUSTOM", "MinPauseBetweenCheckpoints": 10000 } } }
Desativar o ponto de verificação para um novo aplicativo
O exemplo de solicitação a seguir para a ação CreateApplication
desativa o ponto de verificação quando você está criando um aplicativo:
{ "ApplicationName": "MyApplication", "RuntimeEnvironment":"FLINK-1_19", "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::mybucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "FlinkApplicationConfiguration": { "CheckpointConfiguration": { "CheckpointingEnabled": "false" } } }
Configurar o ponto de verificação para um aplicativo existente
O exemplo de solicitação a seguir para a ação UpdateApplication
configura o ponto de verificação para um aplicativo existente:
{ "ApplicationName": "MyApplication", "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "CheckpointConfigurationUpdate": { "CheckpointingEnabledUpdate": true, "CheckpointIntervalUpdate": 20000, "ConfigurationTypeUpdate": "CUSTOM", "MinPauseBetweenCheckpointsUpdate": 10000 } } } }
Desativar o ponto de verificação para um aplicativo existente
O exemplo de solicitação a seguir para a ação UpdateApplication
desativa o ponto de verificação para um aplicativo existente:
{ "ApplicationName": "MyApplication", "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "CheckpointConfigurationUpdate": { "CheckpointingEnabledUpdate": false, "CheckpointIntervalUpdate": 20000, "ConfigurationTypeUpdate": "CUSTOM", "MinPauseBetweenCheckpointsUpdate": 10000 } } } }