pgpool有很多
功能,其中最重要的我觉得是如下几个:提供连接池(
负载均衡模式),复制模式(能通过pgpool分发
sql,因此是基于
sql语句的分发复制),主备模式(依赖其他的复制,如snoly和流复制,但pgpool能把客户端的
sql请求根据
sql是
查询还是
修改发送到备库或主库),并行模式(其实就是把表水平拆分到各个数据节点,一条
SQL查询时需要从多个数据节点
查询数据),本文是用主备模式来搭建pg的高可用和
负载均衡集群。
@H_
502_0@
要搭建基于postgre
sql的高可用、
负载均衡的
数据库集群架构,还有很多技术,如postgres-xc,但本文以最常用的postgre
sql的主备模式(主库加流复制为例来搭建,1主库+多备库,实现高可用和
负载均衡)。高可用即一个节点宕机不影响整体业务运行,
负载均衡是指客户端发过来的
链接请求能均匀的分布到各个数据节点,
负载均衡的时候需要考虑到主库和备库是不同的,主库可读可写而备库只能读,因此select语句可以发往主库和备库,而update、insert、delete等要在主库执行,别的
负载均衡软件如lvs是做不到的,但pgpool可以检测
sql语句,
自动发往不同的节点。
@H_
502_0@
本文用pgpool-ii来实现高可用和读写分离的
负载均衡。