GBase JDBC 集群高可用负载均衡应用配置

ccddll1111 2021-03-26 05:20:36
一、概述
如果我们希望把数据库连接请求平均分布到各个节点的上话,我们可以使

用 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;

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

String URL =
“jdbc:gbase://192.168.1.56:5258/test?user=gbase&password=xxxxxx&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 个数据库连接请求分配到另外两个节点上。

注:

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

三、相关参数释义
1、failoverEnable
8a 集群使用,创建连接时,如果集群当

前集群节点不可用,是否自动路由到下 false 一个可用的节点。默认为 false;
2、hostList
8a 集群使用,当 failoverEnable=true的情况下生效。记录集群中节点的 IP 以逗号分隔。

例:集群三个节点

192.168.0.2;

192.168.0.3;

192.168.0.5;

在创建数据库连接时,如果当前节点为192.168.0.2,不可用,希望自动路由到下一个可用连接的话,可以设置failoverEnable=true&hostList=192.168.0.3,192.168.0.5
3、gclusterId
8a 集群使用,当 failoverEnable=true

且 hostList 参数不为空时,设置该参数,8a 集群接口的负载均衡开启(负载策略为轮询)。gclusterId 必须以 a-z

任意字符开头的字符串,gclusterId 组成可以包含 a-z、0-9 所有字符长度为最大为 20。在同一应用程序中,gclusterId可有程序开发人员自行决定,全工程唯一即可。

注:当设置 gclusteId 时,自动路由功能自动转换为高可用负载均衡。

...全文
5038 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
数据仓库
加入

7371

社区成员

其他数据库开发 数据仓库
社区管理员
  • 数据仓库
申请成为版主
帖子事件
创建了帖子
2021-03-26 05:20
社区公告
暂无公告