PolarDB PostgreSQL轻量版集群运行成功后,您可通过访问代理组件,实现集群的读写分离功能。
代理
Proxy是PolarDB PostgreSQL轻量版集群代理组件,通过访问不同地址,自动实现集群的读写分离功能。
高可用
- Proxy能够根据配置的数据库节点自动进行探测,识别主节点和只读节点,无需手动干预。
- 支持在多台机器上部署 - Proxy。当某一个- Proxy所在主机宕机时,可以通过其他- Proxy访问数据库。客户端可通过在- jdbc url中配置多个节点信息,以实现- Proxy的高可用。
读写分离
支持通过Proxy定义数据库路由策略。
- 主地址:所有请求将被转发至主节点。当主节点发生故障, - Proxy将自动识别并切换至新的主节点。默认端口12369。
- 读写分离地址:能够自动根据活跃的节点做负载均衡。默认端口12370。 
| 主地址请求转发示意图 | 读写分离地址请求转发示意图 | 
一致性级别
PolarDB PostgreSQL轻量版提供了如下两种一致性级别,满足您在不同场景下对一致性级别的要求:
- 强一致性:所有请求均路由到集群主节点。 
- 会话一致性:支持将读请求路由至只读节点。在单个连接内,系统根据位点确保一致性,而在不同连接间则不提供一致性保障。此级别能够充分利用只读节点的资源,实现只读功能。 
两种一致性级别分别对应两个地址。强一致性针对主地址,默认端口12369。会话一致性针对读写分离地址,默认端口12370。
集群访问
内置客户端
在集群启动后,您可以通过PolarDB PostgreSQL轻量版内核二进制包中内置的psql客户端连接集群。
创建集群时默认创建以下资源:
- 用户 - admin,密码为- postgres。
- 数据库 - admin_db。
示例
连接主地址
PGPASSWORD=postgres /u01/polardb_pg/bin/psql -h <主地址> -p12369 -U admin -d admin_db连接读写分离地址
PGPASSWORD=postgres /u01/polardb_pg/bin/psql -h <读写分离地址> -p12370 -U admin -d admin_db连接目标节点
集群节点直连端口默认为1523。如连接本地-h可使用localhost。
PGPASSWORD=postgres /u01/polardb_pg/bin/psql -h <目标节点ip地址> -p1523 -U admin -d admin_dbJDBC
在使用JDBC连接数据库时,可以通过以下连接字符串配置多个Proxy的主机地址,以确保在单个Proxy发生故障时,客户端访问不受影响。
jdbc:postgresql://proxy1_host:proxy1_port,proxy2_host:proxy2_port,proxy3_host:proxy3_port/database驱动
您可根据PolarDB PostgreSQL轻量版兼容模式获取目标驱动:
- 兼容PostgreSQL模式:直接使用原生PostgreSQL驱动。 
- 兼容Oracle模式:使用PolarDB驱动。