sql >> Base de Datos >  >> RDS >> PostgreSQL

Equilibrio de carga de PostgreSQL en la nube simplificado

Mencionamos muchas veces las ventajas de usar un Load Balancer en la topología de su base de datos. Podría ser para redirigir el tráfico a nodos de bases de datos en buen estado, distribuir el tráfico entre varios servidores para mejorar el rendimiento o simplemente tener un punto final único configurado en su aplicación para una configuración más sencilla y un proceso de conmutación por error.

Ahora, con la nueva versión ClusterControl 1.7.6, no solo puede implementar su clúster de PostgreSQL directamente en la nube, sino que también puede implementar Load Balancers en el mismo trabajo. Para ello, ClusterControl admite AWS, Google Cloud y Azure como proveedores de la nube. Echemos un vistazo a esta nueva característica.

Creación de un nuevo clúster de base de datos

Para este ejemplo, supondremos que tiene una cuenta con uno de los proveedores de nube admitidos mencionados y configuró sus credenciales en una instalación de ClusterControl 1.7.6.

Si no lo tiene configurado, debe ir a ClusterControl -> Integraciones -> Proveedores de nube -> Agregar credenciales de nube.

Aquí debe elegir el proveedor de la nube y agregar la información correspondiente.

Esta información depende del propio proveedor de la nube. Para más información, puedes consultar nuestra documentación oficial.

No necesita acceder a la consola de administración de su proveedor de nube para crear nada, puede implementar sus máquinas virtuales, bases de datos y balanceadores de carga directamente desde ClusterControl. Vaya a la sección de implementación y seleccione "Implementar en la nube".

Especifique el proveedor y la versión para su nuevo clúster de base de datos. En este caso, usaremos PostgreSQL 12.

Agregue la cantidad de nodos, el nombre del clúster y la información de la base de datos, como credenciales y puerto del servidor.

Elija las credenciales de la nube, en este caso, usaremos un AWS cuenta. Si aún no ha agregado su cuenta a ClusterControl, puede seguir nuestra documentación para esta tarea.

Ahora debe especificar la configuración de la máquina virtual, como sistema operativo, tamaño, y región.

En el siguiente paso, puede agregar Load Balancers a su clúster de base de datos. Para PostgreSQL, ClusterControl admite HAProxy como equilibrador de carga. Debe seleccionar la cantidad de nodos de Load Balancer, el tamaño de la instancia y la información de Load Balancer.

Esta información del equilibrador de carga es:

  • Puerto de escucha (lectura/escritura):puerto para tráfico de lectura/escritura.
  • Puerto de escucha (solo lectura):puerto para tráfico de solo lectura.
  • Política:Puede ser:
    • leastconn:El servidor con el menor número de conexiones recibe la conexión
    • roundrobin:Cada servidor se utiliza por turnos, según sus pesos
    • fuente:la dirección IP de origen se codifica y se divide por el peso total de los servidores en ejecución para designar qué servidor recibirá la solicitud

Ahora puede revisar el resumen e implementarlo.

ClusterControl creará las máquinas virtuales, instalará el software y lo configurará, todo en el mismo trabajo y de forma desatendida.

Puede monitorear el proceso de creación en la sección de actividad de ClusterControl. Cuando termine, verá su nuevo clúster en la pantalla principal de ClusterControl.

Si desea verificar los nodos de Load Balancers, puede ir a ClusterControl -> Nodos -> Nodo HAProxy y verifique el estado actual.

También puede monitorear sus servidores HAProxy desde ClusterControl consultando la sección Tablero.

Ahora que ha terminado, puede consultar la consola de administración de su proveedor de nube, donde encontrará las máquinas virtuales creadas de acuerdo con las opciones de trabajo de ClusterControl seleccionadas.

Conclusión

Como puede ver, tener un Load Balancer frente a su clúster de PostgreSQL en la nube es realmente fácil usando la nueva función "Implementar en la nube" de ClusterControl, donde puede implementar sus bases de datos y nodos de Load Balancer en el mismo trabajo.