如果我们希望把数据库连接请求平均分布到各个节点的上话,我们可以使
用 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
个数据库连接请求分配到另外两个节点上。
注:
高可用负载均衡功能集包含高可用性,即当开始高可用负载均衡时高可用
性同时开启。