ThingWorx 高可用性 > 管理 ThingWorx HA 中的 ThingWorx 延伸功能
管理 ThingWorx HA 中的 ThingWorx 延伸功能
在 ThingWorx 叢集組態中,ThingWorx 延伸功能儲存在資料庫中,且在本機檔案系統中快取。這是為了確保每個 ThingWorx 實例都使用儲存在資料庫中的最新延伸功能。
在啟動期間,ThingWorx 會檢查資料庫是否有延伸功能更新,並在本機上套用。如果在資料庫中的延伸功能與本機 ThingworxStorage/extensions 目錄中的延伸功能之間有差異,ThingWorx 會將資料庫版本作為最新的版本,將本機的 ThingworxStorage/extensions 版本作為過期版本。
延伸功能匯入流程
匯入延伸功能後,系統會執行下列作業:
1. 執行延伸功能 zip 檔案的加總核對碼,將其作為 <延伸功能名稱>.chk 檔案儲存在 ThingworxStorage/extensions/<延伸功能名稱> 目錄中。
2. 將 zip 檔案解壓縮至 ThingworxStorage/extensions/<延伸功能名稱> 目錄。
3. 建立、部署,並保留 ExtensionPackage 實體 (與其他任何實體) 至資料庫。
4. 將 zip 檔案與加總核對碼保留至資料庫。
* 
如果系統在上述步驟期間失敗,其將會嘗試退出匯入。Zip 檔案會持續存在。這樣,如果延伸功能無法部署,則不會將其部署至資料庫,並會防止其他備用節點挑選該延伸功能並導致損壞。
5. 所有伺服器都將同步處理並安裝延伸功能。
同步處理延伸功能的時間可能會與初始安裝延伸功能的時間相同。叢集中的每個伺服器都會單獨同步處理,並最終保持一致。在同步處理期間,已匯入的實體將無法在其他伺服器上使用,只能在發生初始匯入的伺服器上使用。
如果您要匯入大量延伸功能,或同步處理時間較長的延伸功能,建議將該叢集縮減為單一實例、安裝延伸功能,然後再重新擴充該叢集。這將會更具效能,並防止最終一致性問題,因為新延伸功能將在啟動時由每個伺服器載入。
* 
執行延伸功能同步處理時,將備份其他同步處理,直到其完成為止。
延伸功能移除流程
刪除延伸功能後,會發生下列情況:
1. 解除部署延伸功能。
2. Zip 會從資料庫中刪除。
3. ExtensionPackage 實體會從資料庫刪除。
4. ThingworxStorage/extensions/<延伸功能名稱> 目錄 (包括加總核對碼) 會被刪除。
5. 所有伺服器都將同步處理並移除延伸功能。
同步處理延伸功能的時間可能會與初始刪除延伸功能的時間相同。叢集中的每個伺服器都會單獨同步處理,並最終保持一致。
如果您要刪除大量延伸功能,或同步處理時間較長的延伸功能,建議將該叢集縮減為單一實例、刪除延伸功能,然後再重新擴充該叢集。這將會更具效能,並防止最終一致性問題。
* 
執行延伸功能同步處理時,將備份其他同步處理,直到其完成為止。
這是否有幫助?