暂无图片
openGauss5.0.0 jdbc新特性
最近更新:2023-07-31 15:02:46

jdbc负载均衡功能介绍

jdbc可以通过URL中设置多个数据库节点,实现对主备集群的访问。通过在URL设置负载均衡参数"autoBalance",jdbc可以在建立连接时,依照特定的负载均衡规则将客户端与主备集群的连接依次建立在URL中的各个节点上,以此实现连接的负载均衡。  5.0.0以前,jdbc提供了roundrobin、priority roundrobin、shuffe、 false四种负载均衡模式,具体介绍如下:

  • roundrobin: 轮询模式,即与各候选节点轮流建立连接。 取值:"roundrobin"、"true"、"balance"
  • priority roundrobin: 带优先级的轮询模式,优先对前n个候选节点做轮询建连 取值:"proprity[n]",n为非负整数。
  • shuffle: 随机模式,即随机选择候选节点建立连接 取值:"shuffle"。 loadBalanceHosts设置为"true"等同于autoBalance设置为"shuffle"。(autoBalance优先级更高)
  • false: 无负载均衡,始终与URL串中配置的同一个满足建连条件的节点创建连接。

5.0.0特性增强

opengauss-jdbc-5.0.0相对以前版本,在负载均衡方面主要有以下两点增强新增负载均衡算法 1. leastconn (最小连接) 模式:

  • 应用场景:主要针对集群状态会发生变化,或客户端配置多个同一集群连接串的场景。
  • 功能说明:实现客户端级别的集群内新建连接的负载均衡,即客户端通过jdbc向主备集群创建连接时,优先选择在集群中连接数最少的节点创建连接

2. 在最小连接模式的基础上,新增集群状态时集群快速负载均衡功能:

  • 应用场景:使用连接池连接主备集群时,连接池通常会维护一定数量的长连接,当集群中某个节点失效时,连接池会在剩余节点上补充连接。当失效节点恢复时,由于连接池已经在其他节点上创建了足量的长连接,除非已有连接主动关闭,新恢复节点会始终处于空闲状态。
  • 功能说明:快速负载均衡功能开启时,jdbc会监测集群中各节点的状态。当某个节点恢复时,jdbc会从其他节点上筛选出空闲连接并关闭。新建连接会基于leastconn模式优先在新恢复节点上创建连接实现集群内连接数再平衡。
......