ThingWorx 高可用性負載平衡器
ThingWorx HA 組態需要一個或兩個負載平衡器。
• 一個負載平衡器用於將流量導向 ThingWorx Connection Server。只有當 ThingWorx Connection Server 是部署的一部份時才需要它。
• 一個負載平衡器將流量導向目前作爲前置節點的 ThingWorx 伺服器。所有 ThingWorx HA 組態都需要此負載平衡器。
一般負載平衡器需求
• 負載平衡器應該在其自己的高可用性組態內運作。
• 其可以路由網路通訊端流量。
• 其可以管理靜態 (或固定) 工作階段。
• (選用) 其可以管理 SSL 終止。
ThingWorx Connection Server 的負載平衡器
如果需要連線伺服器負載平衡器,其應該接收所有 ThingWorx 流量並根據下列規則分送:
• 負載平衡器應該僅將網路通訊端流量導向「連線伺服器」。使用者流量和其他非網路通訊端流量應導向其他負載平衡器,將流量路由至 ThingWorx 前置節點。
• 為求最佳效能,資產的網路通訊端流量應始終轉至使用固定工作階段的相同「連線伺服器」。
◦ 如果該「連線伺服器」離線,該資產流量應導向另一個「連線伺服器」。
◦ 如果資產與「連線伺服器」之間的工作階段變為非使用中,則可以利用任何可用的「連線伺服器」建立新的工作階段。
ThingWorx 伺服器的負載平衡器
所有 ThingWorx 伺服器 (使用者、資產、連線伺服器等) 的流量應透過此負載平衡器路由,以確保其導向目前 ThingWorx 前置節點。
負載平衡器定期呼叫每個 ThingWorx 伺服器上的服務。此服務會回應其前置節點狀態。將前置節點編碼傳回負載平衡器的 ThingWorx 伺服器接收使用者與資產流量。傳回待命編碼的 ThingWorx 伺服器不應收到流量。
可以使用任何符合下列條件的負載平衡器:
• 負載平衡器可以定期將下列 GET 語句傳送至 ThingWorx 前置節點並處理回應。
GET /Thingworx/Admin/HA/LeaderCheck
HTTP/1.0\r\nAuthorization:\ Basic\ <base64-encoded-string>
• 其中 <base64-encoded-string> 是 base64 編碼的 user:password 字串,符合 platform-settings.json 中的 LoadBalancerBase64EncodedCredentials 設定值。
• 負載平衡器應每隔 15-20 秒將此呼叫傳送至每個 ThingWorx 前置節點。
• ThingWorx 前置節點的健全回應碼為 200。
◦ 前置節點會傳送回應碼 200,而待命伺服器應傳回 400、401 或 503 回應碼。
• 如果前置節點傳送三個非 200 回應碼,則:
◦ 負載平衡器應檢查待命 ThingWorx 伺服器的回應碼是否為 200。
◦ 現在傳送回應碼 200 的待命伺服器應視為新 ThingWorx 前置節點。
◦ 所有流量都應導向新 ThingWorx 前置節點。