Alta disponibilidad de ThingWorx > Gestión de extensiones de ThingWorx en la alta disponibilidad de ThingWorx
Gestión de extensiones de ThingWorx en la alta disponibilidad de ThingWorx
En una configuración de agrupación de ThingWorx, las extensiones de ThingWorx se almacenan en la base de datos y en la caché del sistema de ficheros local. De este modo, se garantiza que cada una de las instancias de ThingWorx utilice las extensiones más recientes almacenadas en la base de datos.
Durante su inicio, ThingWorx verifica si hay actualizaciones de las extensiones en la base de datos y las aplica localmente. Si existe una discrepancia entre las extensiones de la base de datos y las extensiones del directorio local ThingworxStorage/extensions, ThingWorx considerará la versión de la base de datos como la versión más reciente y la versión local de ThingworxStorage/extensions como obsoleta.
Proceso de importación de extensiones
Cuando se importan extensiones, el sistema realiza las siguientes acciones:
1. Realiza una suma de control en el fichero zip de extensión y la guarda en el directorio ThingworxStorage/extensions/<nombre de extensión> como fichero <nombre de extensión>.chk.
2. Descomprime el fichero zip en el directorio ThingworxStorage/extensions/<nombre de extensión>.
3. Crea, implementa y almacena una entidad ExtensionPackage (y cualquier otra entidad) en la base de datos.
4. El fichero zip y la suma de control persisten en la base de datos.
* 
Si el sistema falla durante los pasos anteriores, intentará deshacer la importación. El fichero zip se almacena en último lugar. De este modo, si la extensión no se implementa, el fichero no se implementará en la base de datos e impedirá que otros nodos en espera lo seleccionen y provoquen daños.
5. Todos los servidores se sincronizarán y se instalará la extensión.
La sincronización de una extensión puede tardar tanto como su instalación inicial. Cada servidor del clúster se sincroniza individualmente y acaba siendo coherente. Durante el tiempo de sincronización, las entidades importadas no estarán disponibles en los demás servidores, excepto en el servidor en el que se ha producido la importación inicial.
Si se importa un gran número de extensiones o extensiones que tardarán mucho tiempo en sincronizarse, se recomienda reducir el clúster a una sola instancia, instalar las extensiones y, a continuación, volver a ampliar el clúster. Esto será más eficaz y evitará posibles problemas de coherencia, ya que cada servidor cargará las nuevas extensiones al iniciarse.
* 
Mientras la sincronización de las extensiones se está ejecutando, se realizará una copia de seguridad de otras sincronizaciones hasta que finalice el proceso.
Proceso de eliminación de extensiones
Cuando se borran extensiones, sucede lo siguiente:
1. Se anula la implementación de la extensión.
2. El fichero zip se borra de la base de datos.
3. La entidad ExtensionPackage se borra de la base de datos.
4. Se borra el directorio ThingworxStorage/extensions/<nombre de extensión>, incluida la suma de control.
5. Todos los servidores se sincronizarán y se quitará la extensión.
La sincronización de una extensión puede tardar tanto como su eliminación inicial. Cada servidor del clúster se sincroniza individualmente y acaba siendo coherente.
Si se borra un gran número de extensiones o extensiones que tardarán mucho tiempo en sincronizarse, se recomienda reducir el clúster a una sola instancia, borrar las extensiones y, a continuación, volver a ampliar el clúster. Esto será más eficaz y evitará posibles problemas de coherencia.
* 
Mientras la sincronización de las extensiones se está ejecutando, se realizará una copia de seguridad de otras sincronizaciones hasta que finalice el proceso.
¿Fue esto útil?