sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL belastningsbalancering i skyen gjort let

Vi havde mange gange nævnt fordelene ved at bruge en Load Balancer i din databasetopologi. Det kunne være til at omdirigere trafik til sunde databasenoder, distribuere trafikken på tværs af flere servere for at forbedre ydeevnen eller bare have et enkelt slutpunkt konfigureret i din applikation for en nemmere konfiguration og failover-proces.

Nu med den nye ClusterControl 1.7.6-version kan du ikke kun implementere din PostgreSQL-klynge direkte i skyen, men du kan også implementere Load Balancers i det samme job. Til dette understøtter ClusterControl AWS, Google Cloud og Azure som cloud-udbydere. Lad os tage et kig på denne nye funktion.

Oprettelse af en ny databaseklynge

I dette eksempel antager vi, at du har en konto hos en af ​​de nævnte understøttede cloud-udbydere og har konfigureret dine legitimationsoplysninger i en ClusterControl 1.7.6-installation.

Hvis du ikke har det konfigureret, skal du gå til ClusterControl -> Integrationer -> Cloud-udbydere -> Tilføj Cloud-legitimationsoplysninger.

Her skal du vælge cloud-udbyderen og tilføje de tilsvarende oplysninger.

Denne information afhænger af cloud-udbyderen selv. For mere information kan du tjekke vores officielle dokumentation.

Du behøver ikke at få adgang til din cloud-udbyderstyringskonsol for at oprette noget, du kan implementere dine virtuelle maskiner, databaser og belastningsbalancere direkte fra ClusterControl. Gå til implementeringssektionen og vælg "Deploy in the Cloud".

Angiv leverandør og version for din nye databaseklynge. I dette tilfælde bruger vi PostgreSQL 12.

Tilføj antallet af noder, klyngenavn og databaseoplysninger såsom legitimationsoplysninger og serverport.

Vælg cloud-legitimationsoplysningerne, i dette tilfælde bruger vi en AWS konto. Hvis du endnu ikke har tilføjet din konto til ClusterControl, kan du følge vores dokumentation for denne opgave.

Nu skal du angive den virtuelle maskine-konfiguration, som operativsystem, størrelse, og region.

I næste trin kan du tilføje Load Balancers til din databaseklynge. For PostgreSQL understøtter ClusterControl HAProxy som Load Balancer. Du skal vælge antallet af Load Balancer-noder, instansstørrelse og Load Balancer-oplysningerne.

Denne Load Balancer-oplysninger er:

  • Lytteport (læse/skrive):Port til læse-/skrivetrafik.
  • Lytteport (skrivebeskyttet):Port til skrivebeskyttet trafik.
  • Politik:Det kan være:
    • leastconn:Serveren med det laveste antal forbindelser modtager forbindelsen
    • roundrobin:Hver server bruges på skift, i henhold til deres vægt
    • kilde:Kilde-IP-adressen hashes og divideres med den samlede vægt af de kørende servere for at angive, hvilken server der skal modtage anmodningen

Nu kan du gennemgå oversigten og implementere den.

ClusterControl vil oprette de virtuelle maskiner, installere softwaren og konfigurere den, alle i samme job og på en uovervåget måde.

Du kan overvåge oprettelsesprocessen i ClusterControl-aktivitetssektionen. Når den er færdig, vil du se din nye klynge på ClusterControl-hovedskærmen.

Hvis du vil tjekke Load Balancers noder, kan du gå til ClusterControl -> Noder -> HAProxy node, og kontroller den aktuelle status.

Du kan også overvåge dine HAProxy-servere fra ClusterControl ved at tjekke Dashboard-sektionen.

Nu er du færdig, kan du tjekke din cloududbyders administrationskonsol, hvor du vil finde de virtuelle maskiner, der er oprettet i henhold til dine valgte ClusterControl-jobmuligheder.

Konklusion

Som du kunne se, er det virkelig nemt at have en Load Balancer foran din PostgreSQL-klynge i skyen ved at bruge den nye ClusterControl "Deploy in the Cloud"-funktion, hvor du kan implementere dine databaser og Load Balancer-noder i det samme job.


  1. Håndtering af MySQL-replikeringsproblemer ved hjælp af ClusterControl

  2. Kombiner SQLite Count() med GROUP BY for at tilføje en "Count"-kolonne til dit resultatsæt

  3. Sporing på kolonneniveau og rækkeniveau i fletningsreplikering

  4. Hvordan ændres sammenstilling af database, tabel, kolonne?