访问与代理
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_db
JDBC
在使用JDBC连接数据库时,可以通过以下连接字符串配置多个Proxy的主机地址,以确保在单个Proxy发生故障时,客户端访问不受影响。
jdbc:postgresql://proxy1_host:proxy1_port,proxy2_host:proxy2_port,proxy3_host:proxy3_port/database
驱动
您可根据PolarDB PostgreSQL轻量版兼容模式获取目标驱动:
兼容PostgreSQL模式:直接使用原生PostgreSQL驱动。
兼容Oracle模式:使用PolarDB驱动。