Pgpool-II

来自牛奶河Wiki
跳到导航 跳到搜索

Pgpool-II 使用 PostgreSQL 的前、后端协议,并在后端和前端之间中继消息。数据库应用程序(前端)认为 Pgpool-II 是 PostgreSQL 服务器,而服务器(后端)将 Pgpool-II 视为客户端。

由于 Pgpool-II 对服务器和客户端都是透明的,因此现有的数据库应用程序几乎可以无需更改地与 Pgpool-II 一起使用。

Pgpool-II is a middleware that works between PostgreSQL servers and a PostgreSQL database client. It is distributed under a license similar to BSD and MIT. It provides the following features.

  • Connection Pooling
  • Replication
  • Load Balancing
  • Limiting Exceeding Connections
  • Watchdog
  • In Memory Query Cache

Stable versions

Pgpool-II: 4.4, 4.3, 4.2, 4.1, 4.0

同步模式

内置复制

  • 写操作直到所有 PostgreSQL 服务器完成写操作后才返回,对写模式性能有损耗
  • 读操作可以发送任意一台,并不是随机分发的;可以通过 show pool_nodes 查看,可以实现读的负载均衡
  • 复制级别是数据库集
  • 该模式下 pgpool 相当于连接池

流复制

  • 基于 wal 日志复制。主库产生 wal 日志并发送给备库;备库接收 wal 日志记录;并重放这些 wal 日志。从而达到主备库数据同步。备库只读
  • 读写查询智能分发,可以实现负载均衡,这是其他的HA软件不具有的
  • 复制级别是实例级
  • 该模式下 pgpool 相当于连接池

参考

  1. What is Pgpool-II?
  2. Installing Pgpool-II
  3. pgpool-II安装
  4. pgpool-II 4.3 中文手册 - 入门教程