GBase 8a
适配迁移
文章

GBase JDBC 介绍 2

发表于2024-09-30 16:04:1761次浏览2个评论

GBase JDBC 集群高可用性

在通过 GBaseJDBC 访问 GBase 集群时,如果集群当前节点不可用,我希望 直接连接到集群中一个可用的节点上时,我们可以使用 GBase JDBC 集群高可用 性功能(该功能需要 GBase JDBC8.3.81.53 及以上版本)。

GBase JDBC 集群高可用性是接口针对 GBase 集群做的在接口层面的高可用 性处理(IP 自动路由)。

高可用性适用于扁平结构的 GBase 集群,在创建 JDBC 连接时,如果当前 IP 的集群节点不可用,接口会根据相关参数信息把连接数据库请求自动路由到集 群其他可用的节点。

假设有如下场景:
1、部署有一个 GBase 集群,三个节点 IP 如下:

192.168.1.56; 192.168.1.57; 192.168.1.58;

创建数据库连接时设置 hostList、hostList 参数。

String url = "jdbc:gbase://192.168.1.56:5258/test?user=root&password=root &failoverEnable=true&hostList=192.168.1.57,192.168.1.58";

...... DriverManager.getConnection(dbUrl);

即可实现接口层面的高可用性(IP 自动路由)功能,

GBase JDBC 集群高可用负载均衡

如果我们希望把数据库连接请求平均分布到各个节点的上话,我们可以使 用 GBase JDBC 集群高可用负载均衡功能(该功能需要 GBase JDBC 8.3.81.53_build51.1 及以上版本。)。

高可用负载均衡是 GBaseJDBC 针对集群开发的接口层面的客户端负载均衡 功能。该功能能把客户发送来的数据库连接请求分发到各个节点,在 GBaseJDBC8.3.81.53_built51.1 版本中负载均衡策略为轮询。

假设有如下场景:
1、部署有一个 GBase 集群,三个节点 IP 如下:

192.168.1.56; 192.168.1.57; 192.168.1.58;

如果我们希望把数据库连接请求均摊到三个节点时,创建连接时设置 failoverEnable、hostList、gclusterId 三个参数即可。连接串写法如下:

String URL = "jdbc:gbase://192.168.1.56:5258/test?user=gbase&password=gbase201105 31&failoverEnable=true&hostList=192.168.1.57,192.168.1.58&gclusterId =gcl1"

其中 gclusterId 参数取值范围:必须以 a-z 任意字符开头的可以包含 a-z、 0-9 所有字符长度为最大为 20 的字符串。

......

for (int I = 0; i < 9; i++) { DriverManager.getConnection(SampleGBaseJDBCLoadbalance.URL); }
......

上述代码会创建 9 个连接,假设三个节点都是可用状态,执行结果是每个 节点分配到三个连接;如果其中一个节点不可用状态,GBaseJDBC 驱动会把 9 个数据库连接请求分配到另外两个节点上。

注:高可用负载均衡功能集包含高可用性,即当开始高可用负载均衡时高可用 性同时开启。

评论

登录后才可以发表评论
GBase用户51884发表于 2个月前
厉害了
沉香发表于 2个月前
学习了