View a markdown version of this page

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

Migre 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 locação, 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 locação.

Pré-requisitos

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

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

  • Seu aplicativo concluiu a migração do KCL 3.x e não é configurado. CoordinatorConfig.clientVersionConfig Não realize 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 seu projeto para o KCL 3.5 ou posterior. Implante com migrateAllEntitiesToLeaseTable set to 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 a conclusão da implantação em todos os trabalhadores. Monitore a entrada do estado do TableMigration3.5 coordenador até o TableMigrationStatus alcanceDEPLOYED. Verifique se não há regressões e aguarde um tempo de cozimento suficiente.

  3. Fase 2: implante novamente com migrateAllEntitiesToLeaseTable set totrue. 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 chegar a 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 estados do coordenador. A KCL não exclui essas tabelas automaticamente — ela 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 mesa única. Mesmo uma reversão de código para a Fase 1 não volta para várias tabelas — a configuração é ignorada e o aplicativo continua usando somente a tabela de concessão.

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