- PostgreSQL高可用實戰
- 胡輝等
- 512字
- 2022-08-16 17:40:46
2.2 通過HAProxy實現代理
2.2.1 HAProxy概念
高可用性代理(High Availability Proxy,HAProxy)是一款流行的開源TCP/HTTP負載平衡器和代理解決方案,可以在Linux、Solaris和FreeBSD上運行。它最常見的用途是通過在多個服務器(例如Web、應用程序、數據庫)之間分配工作負載來提高服務器環境的性能和可靠性,特別適用于流量很高的網站。多年來 HAProxy 已成為事實上的標準開源負載平衡器,隨多數主流Linux發行版一起提供,并為世界上許多高訪問量的網站提供支持,在很多知名公司獲得成功應用,如GitHub、Imgur、Instagram和Twitter。
隨著流量的增加,管理數據庫流量變得越來越困難,并且數據庫實際上分布在多個服務器上。PostgreSQL 客戶端通常與單個端點通信。當主節點發生故障時,數據庫客戶端將繼續重試相同的IP 地址。而如果故障已經轉移到輔助節點,就需要使用新端點更新應用程序。在應用程序和數據庫實例之間放置負載平衡器,可以將應用程序定向到可用或運行狀況良好的數據庫節點,并在需要時進行故障轉移。另一個好處是可以通過有效使用副本來提高讀取性能。可以創建一個只讀端口,以平衡各個副本之間的讀取。下面介紹如何安裝及啟動HAProxy。
作為負載平衡器,HAProxy將流量從一個來源分發到一個或多個目的地,并為此任務定義特定的規則和(或)協議。如果有目的地停止響應,則將其標記為脫機,并將流量發送到其余的可用目的地。