pgpool介绍
pgpool介紹
- pgpool功能優勢
- 連接池
- 負載均衡
- 自動故障轉移
- 在線恢復
- 復制
- 限制超出連接
- 看門狗
- 內存查詢緩存
- Pgpool-II存在的功能缺陷
- TODO
- 關于作者
- 相關鏈接
參考Pgpool官方文檔。
pgpool功能優勢
Pgpool-II是PostgreSQL數據庫客戶端與PostgreSQL服務器之間的代理軟件,也就是說客戶端不在直接連接PostgreSQL服務器,而是通過Pgpool進行連接。它提供以下功能:
連接池
與PostgreSQL服務器建立連接后會由Pgpool-II維護該連接,并當新連接連接時,如果存在具有相同連接信息(即用戶名,數據庫,協議版本和其他連接參數)的連接則直接使用它們。它減少了連接開銷并改善了系統的整體吞吐量。
負載均衡
如果數據庫是復制模式的(以復制模式或主/從模式運行),則在任何服務器上執行SELECT查詢都將返回相同的結果。Pgpool-II 利用復制功能來減少每臺PostgreSQL服務器上的負載。它通過將SELECT查詢分配到可用的服務器之間來做到這一點,從而提高了系統的整體吞吐量。在理想情況下,讀取性能可以與PostgreSQL服務器的數量成正比。在只讀查詢并發比較高的情況下,負載平衡效果最佳。
自動故障轉移
如果其中一臺數據庫服務器出現故障或無法訪問, Pgpool-II會將其分離,并將繼續使用其余的數據庫服務器提供服務。提供了很多自動故障轉移配置來使該功能到最優效果,例如包括超時和重試。
在線恢復
Pgpool-II可以通過執行一個命令來執行數據庫節點的在線恢復。當在線恢復與自動故障轉移一起使用時,可以通過故障轉移將失敗的節點分離,同時使用在線恢復自動附加為備用節點。也可以同步附加新的PostgreSQL服務器節點。
復制
Pgpool-II可以管理多臺PostgreSQL服務器。復制功能可以在兩臺或者多臺PostgreSQL服務器之間創建實時備份,因此,如果其中一臺PostgreSQL服務器發生故障,服務可以繼續運行而不會中斷。Pgpool-II具有內置復制(本機復制)。但是,用戶可以使用外部復制功能,包括PostgreSQL的流復制(目前大多數的主備集群都采用PostgreSQL的流復制來實現)。
限制超出連接
PostgreSQL的最大連接數是有限制的(postgres.conf中max_connections),達到此數量時,新連接將被拒絕。但是,增加最大連接數會增加資源消耗,并對整體系統性能產生負面影響。Pgpool-II對最大連接數也有限制,但是將對額外的連接進行排隊,而不是立即返回錯誤。當然也可以配置為在超過連接限制(4.1或更高版本)時返回錯誤。
看門狗
看門狗可以協調多個Pgpool-II節點,建立強壯的集群系統,并避免單點故障或腦裂。看門狗可以對其他pgpool-II節點執行生命檢查,以檢測Pgpoll-II的故障。如果活躍中的Pgpool-II節點發生故障,則備用 Pgpool-II節點可以升級為活躍狀態,變為主節點,并接管虛擬IP。
內存查詢緩存
內存查詢緩存允許保存一對SELECT語句及其結果。如果出現相同的SELECT,則Pgpool-II從緩存中返回該值。由于不涉及SQL解析或對PostgreSQL的訪問,因此內存緩存將非常快。但另一方面,在某些情況下,它可能會比正常途徑慢,因為它增加了存儲緩存數據的開銷。
Pgpool-II存在的功能缺陷
TODO
關于作者
小劉先森 GISer
QQ: 1016817543
郵箱:1016817543@qq.com
github:https://github.com/MrSmallLiu (歡迎star)
相關鏈接
以下為本人參與開發的一些庫,歡迎各位Star、Issues、PR
- 基于PostgreSQL和PostGIS的坐標轉換函數,支持點、線、面的WGS84和CGCS2000與GCJ02和BD09坐標系與之間互轉
- 統一社會信用代碼相關的PostgreSQL函數,包括驗證、隨機生成等
總結
- 上一篇: 服务器被黑,帮凶竟然是Redis
- 下一篇: Loadrunner安装与破解