Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Restauración de la versión de KCL anterior
Este tema explica los pasos para revertir al consumidor a la versión anterior. Para poder revertir, existe un proceso de dos pasos:
-
Ejecución de la herramienta de migración de KCL
. -
Nueva implementación del código de la versión de KCL anterior (opcional).
Paso 1: ejecución de la herramienta de migración de KCL
Cuando necesite restaurar la versión anterior de KCL, debe ejecutar la herramienta de migración de KCL. La herramienta de migración de KCL realiza dos tareas importantes:
-
Elimina una tabla de metadatos llamada tabla de métricas de procesos de trabajo y el índice secundario global de la tabla de arrendamiento en DynamoDB. Estos dos artefactos los crea KCL 3.x, pero no son necesarios al restaurar la versión anterior.
Hace que todos los trabajadores funcionen en un modo compatible con KCL 2.x y comiencen a utilizar el algoritmo de equilibrio de carga utilizado en las versiones anteriores de KCL. Si tiene problemas con el nuevo algoritmo de equilibrio de carga en KCL 3.x, esto mitigará el problema inmediatamente.
importante
La tabla de estados del coordinador en DynamoDB debe existir y no debe eliminarse durante el proceso de migración, restauración y avance.
nota
Es importante que todos los procesos de trabajo de la aplicación de consumo utilicen el mismo algoritmo de equilibrio de carga en un momento dado. La herramienta de migración de KCL se asegura de que todos los procesos de trabajo de la aplicación de consumo KCL 3.x cambien al modo compatible con KCL 2.x, de modo que todos los procesos de trabajo ejecuten el mismo algoritmo de equilibrio de carga durante el despliegue progresivo de su versión anterior de KCL.
Puede descargar la herramienta de migración de KCL
python3 ./KclMigrationTool.py --region <region> --mode rollback [--application_name <applicationName>] [--lease_table_name <leaseTableName>] [--coordinator_state_table_name <coordinatorStateTableName>] [--worker_metrics_table_name <workerMetricsTableName>]
Parámetros
-
--region: sustituya
<region>por la suya. Región de AWS -
--application_name: este parámetro es necesario si utiliza nombres predeterminados para las tablas de metadatos de DynamoDB (tabla de arrendamiento, tabla de estado de coordinadores y tabla de métricas de procesos de trabajo). Si ha especificado nombres personalizados para estas tablas, puede omitir este parámetro. Reemplace
<applicationName>por el nombre de la aplicación KCL. La herramienta utiliza este nombre para derivar los nombres de tabla predeterminados si no se proporcionan nombres personalizados. -
--lease_table_name (opcional): este parámetro es necesario cuando se ha establecido un nombre personalizado para la tabla de arrendamiento en la configuración de KCL. Si utiliza el nombre de tabla predeterminado, puede omitir este parámetro. Reemplace
leaseTableNamepor el nombre de tabla personalizado que especificó para la tabla de arrendamiento. -
--coordinator_state_table_name (opcional): este parámetro es necesario cuando se ha establecido un nombre personalizado para la tabla de estado de coordinadores en la configuración de KCL. Si utiliza el nombre de tabla predeterminado, puede omitir este parámetro. Reemplace
<coordinatorStateTableName>por el nombre de tabla personalizado que especificó para la tabla de estado de coordinadores. -
--worker_metrics_table_name (opcional): este parámetro es necesario cuando se ha establecido un nombre personalizado para la tabla de métricas de procesos de trabajo en la configuración de KCL. Si utiliza el nombre de tabla predeterminado, puede omitir este parámetro. Reemplace
<workerMetricsTableName>por el nombre de tabla personalizado que especificó para la tabla de métricas de procesos de trabajo.
Paso 2: nueva implementación del código con la versión de KCL anterior (opcional)
Tras ejecutar la herramienta de migración de KCL para realizar una recuperación, verá uno de los siguientes mensajes:
-
Mensaje 1: “Se completó la reversión. Su aplicación KCL ejecutaba el modo compatible con KCL 2.x. Si no observa la migración de cualquier regresión, revierta sus archivos binarios de aplicación anteriores al implementar el código con su versión de KCL anterior”.
-
Acción requerida: Esto significa que sus trabajadores estaban trabajando en el modo compatible con KCL 2.x. Si el problema persiste, vuelva a implementar el código con la versión de KCL anterior en los procesos de trabajo.
-
-
Mensaje 2: “Se completó la reversión. Su aplicación KCL ejecutaba el modo de funcionalidad KCL 3.x. No es necesario volver a los archivos binarios de la aplicación anterior, a menos que no vea ninguna solución al problema en 5 minutos. Si sigue teniendo problemas, regrese a sus archivos binarios de aplicación anteriores al implementar el código con la versión de KCL anterior”.
-
Acción necesaria: Esto significa que sus trabajadores estaban trabajando en el modo KCL 3.x y que la herramienta de migración de KCL cambió a todos los trabajadores al modo compatible con KCL 2.x. Si el problema se resuelve, no es necesario volver a implementar el código con la versión anterior de KCL. Si el problema persiste, vuelva a implementar el código con la versión de KCL anterior en los procesos de trabajo.
-