View a markdown version of this page

Migrar do KCL 3.x para o formato de tabela única - Amazon Kinesis Data Streams

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

Migrar do KCL 3.x para o formato de tabela única

Se você executar o KCL 3.x com todas as três tabelas de metadados do DynamoDB (tabela de lease, tabela de métricas do trabalhador e tabela de estado do coordenador), poderá migrar para o formato de tabela única para consolidar todos os metadados na tabela de lease.

Pré-requisitos

  • Seu aplicativo executa o KCL 3.x com todas as três tabelas de metadados.

  • Seu aplicativo é estável e todos os funcionários estão saudáveis.

  • Seu aplicativo concluiu a migração do KCL 3.x e não está configurado. CoordinatorConfig.clientVersionConfig Não execute a migração da tabela e a migração da versão do cliente de 2.x para 3.x ao mesmo tempo.

Para migrar do KCL 3.x para o formato de tabela única, siga o processo de implantação em duas fases

  1. Fase 1: Atualize a dependência do projeto para o KCL 3.5 ou posterior. Implante com migrateAllEntitiesToLeaseTable definido como false (o padrão). Essa implantação instala o novo código que oferece suporte ao formato de tabela única, mas não ativa a migração.

  2. Aguarde até que a implantação seja concluída em todos os trabalhadores. Monitore a entrada estadual do TableMigration3.5 coordenador até TableMigrationStatus chegarDEPLOYED. Verifique se não há regressões e aguarde um tempo de cozimento suficiente.

  3. Fase 2: implante novamente com migrateAllEntitiesToLeaseTable definido comotrue. Essa implantação inicia a migração para o formato de tabela única.

  4. Monitore TableMigrationStatus o. O trabalhador líder avança no estado por meio de IMPLANTADO, PENDENTE e COMPLETO.

  5. Depois que o status atingir CONCLUÍDO, verifique se não há regressões e aguarde mais tempo de cozimento para garantir que nenhuma reversão seja necessária.

  6. Exclua manualmente as métricas antigas do trabalhador e as tabelas de estado do coordenador. O KCL não exclui essas tabelas automaticamente — ele apenas para de usá-las. Se você configurou CoordinatorConfig.coordinatorStateTableConfig ouLeaseManagementConfig.workerUtilizationAwareAssignmentConfig.workerMetricsTableConfig, você pode remover essas configurações, pois elas estão obsoletas.

Importante

Não reverta seu aplicativo depois que a migração atingir o estado COMPLETO. Depois de CONCLUÍDO, o aplicativo opera exclusivamente no modo de tabela única. Mesmo uma reversão de código para a Fase 1 não retorna para várias tabelas — a configuração é ignorada e o aplicativo continua usando somente a tabela de leasing.

Para obter detalhes sobre estados de migração e opções de reversão, consulte. Formato de tabela única para KCL