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.
Regrese a la versión anterior KCL
En este tema se explican los pasos para hacer que el consumidor vuelva a la versión anterior. Si necesitas volver atrás, hay un proceso de dos pasos:
-
Ejecute la herramienta KCL de migración
. -
Vuelva a implementar el código de KCL la versión anterior (opcional).
Paso 1: ejecuta la herramienta de migración KCL
Cuando necesite volver a la KCL versión anterior, debe ejecutar la herramienta de KCL migración. La herramienta de KCL migración realiza dos tareas importantes:
-
Elimina una tabla de metadatos denominada tabla de métricas de trabajadores e índice secundario global de la tabla de arrendamientos de DynamoDB. Estos dos artefactos los creó la versión KCL 3.x, pero no son necesarios al volver a la versión anterior.
Hace que todos los trabajadores funcionen en un modo compatible con la versión KCL 2.x y comiencen a utilizar el algoritmo de equilibrio de carga utilizado en las versiones anterioresKCL. Si tienes problemas con el nuevo algoritmo de equilibrio de carga de la versión KCL 3.x, esto mitigará el problema inmediatamente.
importante
La tabla de estados de coordinadores de DynamoDB debe existir y no debe eliminarse durante el proceso de migración, reversión y reversión.
nota
Es importante que todos los trabajadores de la aplicación de consumo utilicen el mismo algoritmo de equilibrio de carga en un momento dado. La herramienta de KCL migración garantiza que todos los trabajadores de tu aplicación para consumidores de la KCL versión 3.x pasen al modo compatible con la KCL versión 2.x, de modo que todos los trabajadores ejecuten el mismo algoritmo de equilibrio de carga durante el proceso de amortización progresiva a la versión anterior. KCL
Puede descargar la herramienta de KCL migración
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.
<applicationName>
Sustitúyalo por el nombre real de KCL la aplicación. La herramienta utiliza este nombre para derivar los nombres de las tablas por defecto 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 su configuración. KCL Si utilizas el nombre de tabla predeterminado, puedes omitir este parámetro.
leaseTableName
Sustitúyalo por el nombre de tabla personalizado que especificaste para tu tabla de arrendamiento. -
--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. KCL Si utilizas el nombre de tabla predeterminado, puedes omitir este parámetro.
<coordinatorStateTableName>
Sustitúyalo por el nombre de tabla personalizado que especificaste para tu tabla de estados 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 su configuración. KCL Si utilizas el nombre de tabla predeterminado, puedes omitir este parámetro.
<workerMetricsTableName>
Sustitúyalo por el nombre de tabla personalizado que especificaste para la tabla de métricas de los trabajadores.
Paso 2: Vuelva a implementar el código con la KCL versión anterior (opcional)
Tras ejecutar la herramienta de KCL migración para revertirla, verás uno de estos mensajes:
-
Mensaje 1: «Se ha completado la reversión». KCLLa aplicación ejecutaba el modo compatible con la KCL versión 2.x. Si no ves que se mitigue ninguna regresión, revierta los archivos binarios de la aplicación anterior implementando el código con la versión anteriorKCL».
-
Acción necesaria: Esto significa que sus trabajadores estaban trabajando en el modo compatible con la versión KCL 2.x. Si el problema persiste, vuelva a implementar el código con la KCL versión anterior en sus trabajadores.
-
-
Mensaje 2: «Se ha completado la reversión. Su KCL aplicación 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 implementando el código con la versión anterior». KCL
-
Acción necesaria: Esto significa que sus trabajadores estaban trabajando en el modo KCL 3.x y que la herramienta de KCL migración ha cambiado a todos los trabajadores al modo compatible con la KCL 2.x. Si el problema se resuelve, no es necesario volver a implementar el código con la versión anterior. KCL Si el problema persiste, vuelve a implementar el código con la KCL versión anterior entre tus trabajadores.
-