Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ GaussDB(DWS)/ Guía de gestión/ Conexión de clústeres/ Uso de los controladores JDBC y ODBC para conectarse a un clúster/ Configuración de JDBC para conectarse a un clúster (modo de balanceo de carga)
Actualización más reciente 2024-06-12 GMT+08:00

Configuración de JDBC para conectarse a un clúster (modo de balanceo de carga)

Contexto

Si utiliza JDBC para conectarse a un solo CN en el clúster, este CN puede estar sobrecargado y desperdiciado otros recursos de CN. También incurre en riesgos de fallo de un solo nodo.

Para evitar estos problemas, puede usar JDBC para conectarse a múltiples CN. Hay dos modos disponibles:

  • Conexión mediante ELB: Un ELB distribuye el tráfico de acceso a múltiples ECS para el control de tráfico basado en políticas de reenvío. Mejora la capacidad de tolerancia a fallos de los programas de aplicación.
  • Conexión en modo multi-host: Utilice JDBC para configurar múltiples nodos, que es similar a ELB.

Método 1: Uso de ELB para conectarse a un clúster

  1. Obtenga la dirección de Elastic Load Balance. En la consola, vaya a la página de detalles de un clúster y obtenga la dirección IP de ELB. Para obtener más información, consulte Asociación y disociación del ELB.

  2. Configurar el controlador.

    1
    2
    3
    4
    5
    <dependency> 
        <groupId>com.huaweicloud.dws</groupId>  
        <artifactId>huaweicloud-dws-jdbc</artifactId>   
        <version>8.1.1.1</version> 
    </dependency>
    

  3. Obtener la conexión a la base de datos.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    private static final String USER_NAME = "dbadmin";
    private static final String PASSWORD = "password";
    // jdbc:postgresql://ELB_IP:PORT/dbName"
    private static final String URL = "jdbc:postgresql://100.95.153.169:8000/gaussdb";
    private static Properties properties = new Properties();
    static {
        properties.setProperty("user", USER_NAME);
        properties.setProperty("password", PASSWORD);
    }
    /**
     * Obtain the database connection.
     */
    public static Connection getConnection() {
        Connection connection = null;
        try {
            connection = DriverManager.getConnection(URL, properties);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }
    

Método 2: Conexión al clúster en modo multihost

  1. Obtener la EIP. Vaya a la página de detalles de un clúster en la consola y obtenga la EIP.

  2. Configurar el controlador.

    1
    2
    3
    4
    5
    <dependency> 
        <groupId>com.huaweicloud.dws</groupId>  
        <artifactId>huaweicloud-dws-jdbc</artifactId>   
        <version>8.1.1.1</version> 
    </dependency>
    

  3. Obtener la conexión a la base de datos.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    private static final String USER_NAME = "dbadmin";
    private static final String PASSWORD = "password";
    // jdbc:postgresql://host1:port1,host2:port2/dbName"
    private static final String URL = "jdbc:postgresql://100.95.146.194:8000,100.95.148.220:8000,100.93.0.221:8000/gaussdb?loadBalanceHosts=true";
    private static Properties properties = new Properties();
    static {
        properties.setProperty("user", USER_NAME);
        properties.setProperty("password", PASSWORD);
    }
    /**
     * Obtain the database connection.
     */
    public static Connection getConnection() {
        Connection connection = null;
        try {
            connection = DriverManager.getConnection(URL, properties);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }