ThingWorx 高可用性 > 管理 ThingWorx HA 中的 ThingWorx 延伸功能
管理 ThingWorx HA 中的 ThingWorx 延伸功能
在 ThingWorx HA 組態中,ThingWorx 延伸功能儲存在資料庫中,且在本機檔案系統中快取。這是為了確保新 ThingWorx 前置節點可以繼續使用資料庫中儲存的最新延伸功能操作。
在啟動期間,ThingWorx 前置節點會檢查資料庫是否有延伸功能更新,並在本機上套用。如果在資料庫中的延伸功能與本機 ThingworxStorage/extensions 目錄中的延伸功能之間有差異,ThingWorx 會將資料庫版本作為最新的版本,將本機的 ThingworxStorage/extensions 版本作為過期版本。
延伸功能匯入流程
匯入延伸功能後,系統會執行下列作業:
1. 執行延伸功能 zip 檔案的加總核對碼,將其作為 <延伸功能名稱>.chk 檔案儲存在 ThingworxStorage/extensions/<延伸功能名稱> 目錄中。
2. 將 zip 檔案解壓縮至 ThingworxStorage/extensions/<延伸功能名稱> 目錄。
3. 建立、部署,並保留 ExtensionPackage 實體 (與其他任何實體) 至資料庫。
4. 將 zip 檔案與加總核對碼保留至資料庫。
如果系統在這些步驟期間失敗,其將會嘗試退出匯入。zip 是最後一個保留的,因此如果延伸功能部署失敗,延伸功能將不會部署到資料庫,讓其他待命節點挑選並導致毀損。
ThingWorx 前置節點延伸功能審核流程
當 ThingWorx 前置節點啟動時,會針對每個延伸功能執行下列步驟:
1. 解除部署延伸功能。
2. 其加總核對碼值從名為 ThingworxStorage/extensions/<延伸功能名稱>/<延伸功能名稱>.chk 的加總核對碼檔案讀取。
3. 延伸功能的加總核對碼值從持續層讀取。
4. 對這兩個加總核對碼值進行比較。
a. 如果加總核對碼值相同
a. ThingWorx 認為資料庫與本機延伸功能相符
b. 無變更。
b. 如果加總核對碼值不相符
a. 延伸功能的 zip 副本從持續層讀取。
b. 其會解壓縮到暫存目錄,例如 ThingworxStorage/extensions/temp/<延伸功能名稱><隨機>
c. 延伸功能的舊版本從 ThingworxStorage/extensions/<延伸功能名稱> 刪除
d. 解壓縮 zip 檔案的副本複製到舊延伸功能目錄 ThingworxStorage/extensions/<延伸功能名稱>
e. 延伸功能目錄 ThingworxStorage/extensions/<延伸功能名稱>/<延伸功能名稱>.chk 中建立了新的加總核對碼檔案
f. 部署延伸功能。
如果系統在任何上述步驟期間失敗,其將會嘗試清理可以清理的內容。如果延伸功能的舊副本不能取代為持續層的副本,則會載入該舊副本。
延伸功能移除流程
刪除延伸功能後,會發生下列情況:
1. 解除部署延伸功能。
2. Zip 會從資料庫中刪除。
3. ExtensionPackage 實體會從資料庫刪除。
4. ThingworxStorage/extensions/<延伸功能名稱> 目錄 (包括加總核對碼) 會被刪除。