ThingWorx 高可用性 > PostgreSQL 高可用性
PostgreSQL 高可用性
當接收讀取或寫入請求時,PostgreSQL 11 必須對所有節點同步處理其資料,以使得每個節點均為目前節點。沒有可消除潛在同步處理問題的單一解決方案,因此需要考慮許多 HA 選項。PostgreSQL 11 HA 解決方案比較在此處以表格格式清單提供:https://www.postgresql.org/docs/11/different-replication-solutions.htmll
下圖說明 PTC 對 PostgreSQL HA 部署的建議組態。
PostgreSQL
ThingWorx 可以將大量內容寫入其資料庫,請務必保持所有 PostgreSQL 節點範圍內寫入序列不變。PTC 建議配置所有 PostgreSQL 節點以實現在下聯式複製架構內同步複製,並使用置於同步複製上的限制。此選項具有下列需求:
必須部署三個大小相等的 PostgreSQL Server 節點。
將一個節點用作主要伺服器,且將寫入請求導向至此節點。主要伺服器將 WAL 記錄串流至待命節點,而且只有經待命節點確認之後,才會執行交易。
一個待命節點接收來自主要伺服器的串流內容。它也會將其內容串流至第二個待命節點。
一個附加待命節點接收來自第一個待命節點的串流內容。如果節點失敗或其中一個節點離線時,此節點將剩餘兩個節點中一個,仍完成主要-待命伺服器確認串流流程。
Pgpool-II
欲完成 PostgreSQL HA 組態,寫入與讀取請求必須導向至適當的節點,需要監測節點健康狀況,且不健康的節點需要離線並進行修復。PTC 建議 Pgpool-II 來完成這些任務。此選項具有下列需求:
必須部署兩個大小相等的 Pgpool 伺服器節點。它們在主動/被動模式下運作。
一個節點作為主節點運作。它將寫入流量導向至 PostgreSQL 主節點並將讀取流量導向至 PostgreSQL 待命節點。
一個節點為待命節點操作。Pgpool 主節點失敗時將會接收流量發佈。
一個由 Pgpool-II 節點管理的虛擬 IP 位址。主要伺服器將使用此位址從用戶端接收 PostgreSQL 流量。
Pgpool-II 註記:
Windows 環境不支援 Pgpool-II。
PostgreSQL 的雲端實行可能使用直接 DNS 容錯移轉機制,而非 Pgpool-II。
Pgpool-II 流程可以與 ThingWorx 應用程式在相同的伺服器上執行,以減少 HA 環境中伺服器的總數。
PTC 不建議使用 Pgpool-II 管理 PostgreSQL 複製。本文件提供的指南使用 PostgreSQL 的串流複製與 Pgpool-II 進行流量路由、節點健康狀況監視和容錯移轉自動化。
這是否有幫助?