Hochverfügbarkeit mit ThingWorx > ThingWorx Erweiterungen in ThingWorx HA verwalten
ThingWorx Erweiterungen in ThingWorx HA verwalten
In einer ThingWorx Clustering-Konfiguration werden ThingWorx Erweiterungen in der Datenbank gespeichert und im lokalen Dateisystem zwischengespeichert. Damit soll sichergestellt werden, dass jede ThingWorx Instanz die aktuellen in der Datenbank gespeicherten Erweiterungen verwendet.
Während des Starts prüft ThingWorx die Datenbank auf Aktualisierungen von Erweiterungen und wendet sie lokal an. Wenn es eine Diskrepanz zwischen den Erweiterungen in der Datenbank und den Erweiterungen im lokalen Verzeichnis ThingworxStorage/extensions gibt, betrachtet ThingWorx die Datenbankversion als die neueste und die lokale Version von ThingworxStorage/extensions als veraltet.
Import von Erweiterungen
Wenn Erweiterungen importiert werden, führt das System die folgenden Schritte aus:
1. Führt eine Prüfsumme für die ZIP-Erweiterungsdatei aus und speichert sie im Verzeichnis ThingworxStorage/extensions/<Name der Erweiterung> als Datei <Name der Erweiterung>.chk.
2. Entpackt die ZIP-Datei im Verzeichnis ThingworxStorage/extensions/<Name der Erweiterung>.
3. Erstellt eine ExtensionPackage-Entität, stellt sie bereit und speichert sie (und andere Entitäten) in der Datenbank.
4. Speichert die ZIP-Datei und die Prüfsumme in der Datenbank.
* 
Wenn im System während der vorherigen Schritte Fehler auftreten, versucht es, den Import zurückzuziehen. Die ZIP-Datei wird zum Schluss persistent gemacht. Dies erfolgt, da sie bei einem Bereitstellungsfehler der Erweiterung nicht für die Datenbank bereitgestellt wird und verhindert, dass andere Standby-Knoten sie verwenden und Beschädigung verursachen.
5. Alle Server werden synchronisiert, und die Erweiterung wird installiert.
Die Synchronisierung für eine Erweiterung kann so lange dauern wie die anfängliche Installation einer Erweiterung. Jeder Server im Cluster wird einzeln synchronisiert und ist schließlich konsistent. Während der Synchronisierung sind importierte Entitäten nicht auf den anderen Servern verfügbar, nur auf dem Server, auf dem der anfängliche Import erfolgt ist.
Wenn Sie eine große Anzahl von Erweiterungen oder Erweiterungen importieren, die viel Zeit für die Synchronisierung benötigen, wird empfohlen, den Cluster auf eine einzelne Instanz zu übertragen, die Erweiterungen zu installieren und dann den Cluster wieder zu skalieren. Dies ist besser für die Leistung und verhindert eventuelle Konsistenzprobleme, da die neuen Erweiterungen von jedem Server beim Start geladen werden.
* 
Während die Synchronisierung der Erweiterung ausgeführt wird, werden andere Synchronisierungen gesichert, bis sie abgeschlossen ist.
Entfernung von Erweiterungen
Wenn Erweiterungen gelöscht werden, geschieht Folgendes:
1. Die Bereitstellung der Erweiterung wird zurückgenommen.
2. Die ZIP-Datei wird aus der Datenbank gelöscht.
3. Die ExtensionPackage-Entität wird aus der Datenbank gelöscht.
4. Das Verzeichnis ThingworxStorage/extensions/<Name der Erweiterung> wird gelöscht, einschließlich der Prüfsumme.
5. Alle Server werden synchronisiert, und die Erweiterung wird entfernt.
Die Synchronisierung für eine Erweiterung kann so lange dauern wie das anfängliche Löschen einer Erweiterung. Jeder Server im Cluster wird einzeln synchronisiert und ist schließlich konsistent.
Wenn Sie eine große Anzahl von Erweiterungen oder Erweiterungen löschen, die viel Zeit für die Synchronisierung benötigen, wird empfohlen, den Cluster auf eine einzelne Instanz zu übertragen, die Erweiterungen zu löschen und dann den Cluster wieder zu skalieren. Dies ist besser für die Leistung und verhindert eventuelle Konsistenzprobleme.
* 
Während die Synchronisierung der Erweiterung ausgeführt wird, werden andere Synchronisierungen gesichert, bis sie abgeschlossen ist.
War dies hilfreich?