【数据库学习】pgpool-II
1,概念pgpool-II是pg和客户端之间的中间件。pgpool-II用户手册。2,功能1)连接池保持已有连接,当连接参数(用户名、数据库、协议版本)相同时重用这些连接。适用于一些短连接的应用。2)内置复制功能pgpool-II管理多个pg服务器,数据变更同时发送到所有的pg。其中一台节点失效不影响其它节点使用。当然也可以通过pg的流复制完成主备库之间的数据同步。3)负载均衡分发select查询
1,概念
pgpool-II是pg和客户端之间的中间件。
pgpool-II用户手册。
2,功能
1)连接池
保持已有连接,当连接参数(用户名、数据库、协议版本)相同时重用这些连接。适用于一些短连接的应用。
2)内置复制功能
pgpool-II管理多个pg服务器,数据变更同时发送到所有的pg。其中一台节点失效不影响其它节点使用。
当然也可以通过pg的流复制完成主备库之间的数据同步。
3)负载均衡
分发select查询到所有可用的服务器中,读性能与pg服务器数量成正比。
高可用:一个pg不可用时,pgpool-II会把用户请求转发到其他可用的pg上。通过超时和重试次数的探测机制去检测pg是否正常工作。
4)限制超过限度的连接
pg连接数达到MAX时,新的连接将被拒绝。
pgpool-II连接数达到MAX时,新的连接放入队列,而不是立即返回一个错误。
3,进程工作原理
1)pcp process
是一个命令行管理工具,用户可以使用pcp向pgpool-II发送管理命令。
2)parent process
负责检查各个底层数据库的健康状态。
3)child process
负责接收用户发过来的SQL请求,然后再根据规则分发到底层数据库上。
4)worker process
pgpool-II 3.X增加的进程,负责检查底层数据库之间的复制延迟。
5)watchdog process
可以把多个pgpool-II组成一个高可用集群,解决pgpool-II自身的高可用问题,提供了vip管理功能。
看门狗模块功能:
- 检测pgpool服务是否正常工作
- watchdog互相监控
- 在某些故障检测中交换各自pgpool的主备状态。
- 在pgpool进行主备切换时自动进行虚拟IP地址的漂移:当一个standby pgpool提升为master pgpool时,相应的虚拟IP也会漂移过来。这样应用程序不需要修改配置就可以连接到新的主pgpool上。
- 故障pgpool恢复后,自动注册为standby,恢复为高可用状态。
更多推荐
所有评论(0)