Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Rollback a una versione di KCL precedente
Questo argomento spiega i passaggi per ripristinare il tuo consumer KCL 3.5.x alla versione precedente. Il processo di rollback dipende dalla fase di migrazione in cui si trova attualmente l'applicazione.
Importante
Il KCL Migration Tool è necessario solo quando si torna dalla Fase 2 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X) alla Fase 1 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1). Se la tua applicazione è ancora nella Fase 1, puoi ripristinare la versione precedente di KCL ridistribuendo il codice precedente senza eseguire lo strumento.
Torna dalla Fase 1 alla versione precedente di KCL
Se la tua applicazione è in Fase 1 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1), puoi ripristinare la versione precedente di KCL ridistribuendo il codice precedente. La fase 1 è retrocompatibile con le versioni precedenti di KCL e non crea alcuna voce specifica per la migrazione nella tabella di leasing. Non è necessario alcuno strumento di migrazione.
Per tornare indietro dalla Fase 1:
-
Ridistribuisci il codice con la versione precedente di KCL a tutti i lavoratori.
Torna dalla Fase 2 alla Fase 1
Se la tua applicazione è in Fase 2 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X), devi utilizzare il KCL Migration Tool per tornare alla Fase 1. Si tratta di un processo in due fasi:
-
Esegui lo Strumento di migrazione di KCL
. -
Ridistribuisci il codice con la configurazione di Fase 1 (opzionale).
Importante
Non è possibile ripristinare due livelli (dalla Fase 2 alla Fase 1 e poi alla versione precedente di KCL). Il KCL Migration Tool gestisce solo il rollback dalla Fase 2 alla Fase 1.
Nota
Il KCL Migration Tool non elimina le voci non relative al leasing dalla tabella dei leasing. Queste voci non sono retrocompatibili con le versioni precedenti di KCL, motivo per cui non è possibile un rollback a due livelli dalla Fase 2 direttamente a una versione precedente di KCL.
Fase 1: eseguire lo Strumento di migrazione di KCL
Quando devi tornare dalla Fase 2 (CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X) alla Fase 1, esegui il KCL Migration Tool. Lo strumento esegue le seguenti attività:
-
Rimuove il Global Secondary Index (LeaseOwnerToLeaseKeyIndex) dalla tabella di leasing in DynamoDB. Questo indice è stato creato da KCL 3.5.x ma non è necessario quando si torna alla Fase 1.
-
Permette a tutti i lavoratori di funzionare in una modalità compatibile con KCL 2.x e di iniziare a utilizzare l'algoritmo di bilanciamento del carico utilizzato nelle versioni precedenti di KCL. Se hai problemi con il nuovo algoritmo di bilanciamento del carico in KCL 3.5.x, questo mitiga immediatamente il problema.
Importante
La voce relativa allo stato del coordinatore (Migration3.0) nella tabella di lease non deve essere eliminata durante il processo di migrazione, rollback e rollforward.
Nota
Tutti i lavoratori dell'applicazione consumer devono utilizzare lo stesso algoritmo di bilanciamento del carico in un determinato momento. Il KCL Migration Tool assicura che tutti i lavoratori dell'applicazione consumer KCL 3.5.x passino alla modalità compatibile con KCL 2.x in modo che tutti i lavoratori eseguano lo stesso algoritmo di bilanciamento del carico durante la distribuzione successiva alla Fase 1.
Puoi scaricare il KCL Migration Tool
python3 ./KclMigrationTool.py --region <region> --mode rollback [--application_name <applicationName>] [--lease_table_name <leaseTableName>]
Parametri
-
--region: sostituisci
<region>con il tuo. Regione AWS -
--application_name: questo parametro è obbligatorio se si utilizza il nome predefinito per la tabella di leasing. Se hai specificato un nome personalizzato per la tabella di leasing, puoi omettere questo parametro. Sostituiscilo
<applicationName>con il nome effettivo dell'applicazione KCL. Lo strumento usa questo nome per derivare il nome predefinito della tabella se non viene fornito un nome personalizzato. -
--lease_table_name (opzionale): questo parametro è necessario quando hai impostato un nome personalizzato per la tabella di lease nella tua configurazione KCL. Se si utilizza il nome della tabella predefinito, è possibile omettere questo parametro. Sostituisci
<leaseTableName>con il nome della tabella personalizzata che hai specificato per la tua tabella di leasing.
Passaggio 2: ridistribuisci il codice con la configurazione di Fase 1 (opzionale)
Dopo aver eseguito il KCL Migration Tool per il rollback dalla Fase 2 alla Fase 1, vedrai uno di questi messaggi:
-
Messaggio 1: «Rollback completato. La tua applicazione eseguiva la funzionalità Phase 2 (compatibile 2x). Torna alla Fase 1 implementando la tua applicazione KCL 3.5.x con la configurazione Fase 1.»
-
Azione richiesta: i tuoi lavoratori lavoravano in modalità Fase 2 (compatibile 2x). Ridistribuisci la tua applicazione KCL 3.5.x con la configurazione di Fase 1 () ai tuoi lavoratori.
CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1
-
-
Messaggio 2: «Rollback completato. La tua applicazione KCL eseguiva la funzionalità Fase 2 (3x) ed è stata ripristinata alla modalità Fase 2 (compatibile 2x). Se non vedi alcuna attenuazione dopo un breve periodo di tempo, torna alla Fase 1 implementando la tua applicazione KCL 3.5.x con la configurazione di Fase 1».
-
Azione richiesta: i tuoi lavoratori erano in modalità Fase 2 (3x) e il KCL Migration Tool li ha riportati alla modalità Fase 2 (compatibile 2x). Se il problema è stato risolto, non è necessario ridistribuirlo. Se il problema persiste, ridistribuisci l'applicazione KCL 3.5.x con la configurazione di Fase 1 () ai tuoi dipendenti.
CLIENT_VERSION_CONFIG_COMPATIBLE_WITH_2X_PHASE1
-