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
En este tema se explican los pasos para hacer que su consumidor vuelva a la versión anterior. Si necesitas volver atrás, hay un proceso de dos pasos:
-
Ejecución de la herramienta de migración de KCL
. -
Vuelva a implementar el código de la versión anterior de KCL (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 creó KCL 3.x, pero no son necesarios al volver a la versión anterior.
Hace que todos los trabajadores trabajen 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 garantiza que todos los trabajadores de su aplicación KCL 3.x para consumidores cambien al modo compatible con KCL 2.x, de modo que todos los trabajadores utilicen el mismo algoritmo de equilibrio de carga durante el proceso de amortización progresiva a la versión anterior de KCL.
Puede descargar la herramienta de migración de KCL en el directorio
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: reemplace por
<region>
su. Región de AWS -
--application_name: este parámetro es obligatorio si utiliza nombres predeterminados para las tablas de metadatos de DynamoDB (tabla de arrendamiento, tabla de estados de coordinadores y tabla de métricas de trabajadores). Si ha especificado nombres personalizados para estas tablas, puede omitir este parámetro. Sustitúyalo por el
<applicationName>
nombre real de la aplicación de 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 si 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. Sustitúyalo por
leaseTableName
el nombre de tabla personalizado que especificaste para la tabla de arrendamientos. -
--coordinator_state_table_name (opcional): este parámetro es necesario si ha establecido un nombre personalizado para la tabla de estados de coordinadores en su configuración de KCL. Si utiliza el nombre de tabla predeterminado, puede omitir este parámetro. Sustitúyalo por el
<coordinatorStateTableName>
nombre de tabla personalizado que especificaste para tu tabla de estados de coordinadores. -
--worker_metrics_table_name (opcional): este parámetro es necesario si ha establecido un nombre personalizado para la tabla de métricas de los trabajadores en la configuración de KCL. Si utiliza el nombre de tabla predeterminado, puede omitir este parámetro. Sustitúyalo por el
<workerMetricsTableName>
nombre de tabla personalizado que especificaste para tu tabla de métricas de trabajadores.
Paso 2: Vuelva a implementar el código con la versión anterior de KCL (opcional)
Tras ejecutar la herramienta de migración de KCL para realizar una recuperación, verá uno de los siguientes mensajes:
-
Mensaje 1: «Se ha completado la reversión. Su aplicación KCL ejecutaba el modo compatible con KCL 2.x. Si no ve ninguna regresión atenuada, vuelva a los archivos binarios de la aplicación anterior implementando el código con la versión anterior de KCL».
-
Acción necesaria: Esto significa que sus trabajadores estaban trabajando en el modo compatible con KCL 2.x. Si el problema persiste, vuelva a distribuir el código con la versión anterior de KCL entre sus trabajadores.
-
-
Mensaje 2: «Se ha completado 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 veas ninguna solución al problema en 5 minutos. Si el problema persiste, revierta los archivos binarios de la aplicación anteriores desplegando el código con la versión anterior de KCL».
-
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 se resuelve el problema, no es necesario volver a implementar el código con la versión anterior de KCL. Si el problema persiste, vuelva a distribuir el código con la versión anterior de KCL entre sus trabajadores.
-