開發解決方案的最佳作法 > HA 應用程式的最佳作法
HA 應用程式的最佳作法
正確編寫 JavaScript 並減少與 ThingWorx Platform 之間的往返次數,會始終協助改善效能。為了在 ThingWorx 9 中支援高可用性叢集模式,已變更模型的儲存與使用方式,而且已實行跨伺服器保持資料同步處理的共用狀態機制。這些變更會對某些 API 的效能造成影響,因為它們在擷取相同資訊之前所做的工作更多。之前未針對效能最佳化的程式碼在 ThingWorx 9 中可能會慢得多,而且在叢集環境中也可能會非常慢。
模型資訊不再儲存於物件上;系統每次都要遍歷模型樹才能取得模型資訊。擷取物件資訊的所有 API 都會受到影響。
所有 JavaScript 服務狀態現在都儲存在快取層。
在單一伺服器模式下,它是記憶體內部快取,速度非常快,但相較於僅儲存在「物件」(Thing) 物件中而言,其負荷更重。當在叢集模式下執行時,快取為分散式,且每次呼叫都會與遠端主機之間形成一次往返。這樣一來就會增加呼叫的延遲,而且不易控制。
快取層可以是本機也可以是遠端。新系統會建立一個從 JavaScript 物件回到原始物件的單向 proxy。因此,每次變更 JavaScript 物件時,都會觸發原始物件中內容的完整更新。而且,對於原始物件的變更不會反映在 JavaScript 物件中。
應將所有項目都視為遠端物件。針對遠端物件,您就會想要跨遠端間隙進行盡可能少的呼叫,以避免延遲。在伺服器上呼叫 API 時,應採取相同的方法。呼叫越少越好。
這是否有幫助?