Habilite reversões do sistema para seu aplicativo Managed Service for 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á.

Habilite reversões do sistema para seu aplicativo Managed Service for Apache Flink

Com a capacidade de reversão do sistema, você pode obter maior disponibilidade do seu aplicativo Apache Flink em execução no Amazon Managed Service para Apache Flink. A opção por essa configuração permite que o serviço reverta automaticamente o aplicativo para a versão em execução anterior quando uma ação, como UpdateApplication ou autoscaling ocorre, falha no código ou na configuração.

nota

Para usar o recurso de reversão do sistema, você deve se inscrever atualizando seu aplicativo. Os aplicativos existentes não usarão automaticamente a reversão do sistema por padrão.

Como funciona

Quando você inicia uma operação de aplicativo, como uma ação de atualização ou escalabilidade, o Amazon Managed Service para Apache Flink primeiro tenta executar essa operação. Se detectar problemas que impedem o sucesso da operação, como erros de código ou permissões insuficientes, o serviço iniciará automaticamente uma operação. RollbackApplication

A reversão tenta restaurar o aplicativo para a versão anterior que foi executada com êxito, junto com o estado do aplicativo associado. Se a reversão for bem-sucedida, seu aplicativo continuará processando dados com o mínimo de tempo de inatividade usando a versão anterior. Se a reversão automática também falhar, o Amazon Managed Service para Apache Flink fará a transição do aplicativo para o READY status, para que você possa realizar outras ações, incluindo corrigir o erro e repetir a operação.

Você deve optar por usar as reversões automáticas do sistema. Você pode habilitá-lo usando o console ou API para todas as operações em seu aplicativo a partir de agora.

O exemplo a seguir de solicitação para a UpdateApplication ação permite reversões do sistema para um aplicativo:

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 1, "ApplicationConfigurationUpdate": { "ApplicationSystemRollbackConfigurationUpdate": { "RollbackEnabledUpdate": "true" } } }

Analise cenários comuns para reversão automática do sistema

Os cenários a seguir ilustram onde as reversões automáticas do sistema são benéficas:

  • Atualizações do aplicativo: se você atualizar seu aplicativo com um novo código que contém bugs ao inicializar a tarefa do Flink por meio do método principal, a reversão automática permite que a versão de trabalho anterior seja restaurada. Outros cenários de atualização em que as reversões do sistema são úteis incluem:

    • Se seu aplicativo for atualizado para ser executado com um paralelismo maior que. maxParallelism

    • Se seu aplicativo for atualizado para ser executado com sub-redes incorretas para um VPC aplicativo, isso resultará em uma falha durante a inicialização da tarefa do Flink.

  • Atualizações da versão do Flink: quando você atualiza para uma nova versão do Apache Flink e o aplicativo atualizado encontra um problema de compatibilidade de instantâneos, a reversão do sistema permite que você reverta automaticamente para a versão anterior do Flink.

  • AutoScaling: quando o aplicativo se expande, mas apresenta problemas de restauração a partir de um ponto de salvamento, devido à incompatibilidade do operador entre o instantâneo e o gráfico de tarefas do Flink.

Use a operação APIs para reversões do sistema

Para fornecer melhor visibilidade, o Amazon Managed Service para Apache Flink tem duas operações APIs relacionadas a aplicativos que podem ajudá-lo a rastrear falhas e reversões de sistema relacionadas.

ListApplicationOperations

Isso API lista todas as operações realizadas no aplicativo, incluindo,UpdateApplication, MaintenanceRollbackApplication, e outras em ordem cronológica inversa. O exemplo a seguir de solicitação para a ListApplicationOperations ação lista as 10 primeiras operações do aplicativo:

{ "ApplicationName": "MyApplication", "Limit": 10 }

Este exemplo de solicitação a seguir ListApplicationOperations ajuda a filtrar a lista para atualizações anteriores no aplicativo:

{ "ApplicationName": "MyApplication", "operation": "UpdateApplication" }

DescribeApplicationOperation

Isso API fornece informações detalhadas sobre uma operação específica listada porListApplicationOperations, incluindo o motivo da falha, se aplicável. O exemplo a seguir de solicitação para a DescribeApplicationOperation ação lista os detalhes de uma operação específica do aplicativo:

{ "ApplicationName": "MyApplication", "OperationId": "xyzoperation" }

Para obter informações sobre a solução de problemas, consulte Melhores práticas de reversão do sistema.