云数据库 GAUSSDB-示例:不同场景下连接数据库参数配置:负载均衡场景

时间:2024-11-12 09:17:45

负载均衡场景

某客户存在一套数据库集群,包含如下节点{node1,node2,node3,node4,node5,node6,node7,node8,node9,node10,node11,node12}。

  1. 客户在应用程序A中建立了120个长连接,并期望应用程序A上的连接可以均匀分布在当前集群各节点上,则url可参考如下配置。
    jdbc:postgresql://node1,node2,node3/database?autoBalance=true
  2. 客户新开发了两个应用程序B、C,希望当前这三个应用程序均匀分布在指定节点,如应用程序A的连接分布在{node1,node2,node3,node4};应用程序B的连接分布在{node5,node6,node7,node8};应用程序C的连接分布在{node9,node10,node11,node12};则url可参考如下配置。

    应用程序A:jdbc:postgresql://node1,node2,node3,node4,node5/database?autoBalance=priority4

    应用程序B:jdbc:postgresql://node5,node6,node7,node8,node9/database?autoBalance=priority4

    应用程序C:jdbc:postgresql://node9,node10,node11,node12,node1/database?autoBalance=priority4

  3. 客户开发了一些应用程序,并且使用相同的连接配置串,同时期望各应用连接能较均匀的分布在集群各节点上,则url可参考如下配置。
    jdbc:postgresql://node1,node2,node3,node4/database?autoBalance=shuffle
  4. 客户不想要使用负载均衡功能,则url可参考如下配置。
    jdbc:postgresql://node1/database

    或:

    jdbc:postgresql://node1/database?autoBalance=false

    在开启autoBalance参数时,JDBC刷新可用CN列表的周期默认为10S,可使用refreshCNIpListTime进行设置,示例如下:

    jdbc:postgresql://node1,node2,node3,node4/database?autoBalance=true&refreshCNIpListTime=3
support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0069.html