访问与代理

更新时间: 2025-04-03 16:23:02

PolarDB PostgreSQL轻量版集群运行成功后,您可通过访问代理组件,实现集群的读写分离功能。

代理

ProxyPolarDB PostgreSQL轻量版集群代理组件,通过访问不同地址,自动实现集群的读写分离功能。

高可用

  • Proxy能够根据配置的数据库节点自动进行探测,识别主节点和只读节点,无需手动干预。

  • 支持在多台机器上部署Proxy。当某一个Proxy所在主机宕机时,可以通过其他Proxy访问数据库。客户端可通过在jdbc url中配置多个节点信息,以实现Proxy的高可用。

读写分离

支持通过Proxy定义数据库路由策略。

  • 主地址:所有请求将被转发至主节点。当主节点发生故障,Proxy将自动识别并切换至新的主节点。默认端口12369。

  • 读写分离地址:能够自动根据活跃的节点做负载均衡。默认端口12370。

主地址请求转发示意图

读写分离地址请求转发示意图

imageimage

一致性级别

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驱动

上一篇: License授权 下一篇: 数据安全
阿里云首页 云原生数据库 PolarDB 相关技术圈