sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL lastbalansering i molnet på ett enkelt sätt

Vi hade många gånger nämnt fördelarna med att använda en lastbalanserare i din databastopologi. Det kan vara för att omdirigera trafik till sunda databasnoder, distribuera trafiken över flera servrar för att förbättra prestanda, eller bara för att ha en enda slutpunkt konfigurerad i din applikation för en enklare konfiguration och failover-process.

Nu med den nya ClusterControl 1.7.6-versionen kan du inte bara distribuera ditt PostgreSQL-kluster direkt i molnet, utan du kan också distribuera Load Balancers i samma jobb. För detta stöder ClusterControl AWS, Google Cloud och Azure som molnleverantörer. Låt oss ta en titt på den här nya funktionen.

Skapa ett nytt databaskluster

I det här exemplet antar vi att du har ett konto hos en av de nämnda molnleverantörerna som stöds och att du har konfigurerat dina referenser i en ClusterControl 1.7.6-installation.

Om du inte har det konfigurerat måste du gå till ClusterControl -> Integrationer -> Molnleverantörer -> Lägg till Cloud Credentials.

Här måste du välja molnleverantör och lägga till motsvarande information.

Denna information beror på själva molnleverantören. För mer information kan du läsa vår officiella dokumentation.

Du behöver inte komma åt din molnleverantörshanteringskonsol för att skapa något, du kan distribuera dina virtuella maskiner, databaser och lastbalanserare direkt från ClusterControl. Gå till distributionssektionen och välj "Deploy in the Cloud".

Ange leverantör och version för ditt nya databaskluster. I det här fallet kommer vi att använda PostgreSQL 12.

Lägg till antalet noder, klusternamn och databasinformation som autentiseringsuppgifter och serverport.

Välj molnuppgifterna, i det här fallet använder vi en AWS konto. Om du inte har lagt till ditt konto i ClusterControl ännu kan du följa vår dokumentation för den här uppgiften.

Nu måste du ange den virtuella maskinens konfiguration, som operativsystem, storlek, och region.

I nästa steg kan du lägga till lastbalanserare till ditt databaskluster. För PostgreSQL stöder ClusterControl HAProxy som lastbalanserare. Du måste välja antalet Load Balancer-noder, instansstorlek och Load Balancer-information.

Denna lastbalanseringsinformation är:

  • Lyssningsport (läs/skriv):Port för läs-/skrivtrafik.
  • Listen Port (Read-Only):Port för skrivskyddad trafik.
  • Policy:Det kan vara:
    • leastconn:Servern med det lägsta antalet anslutningar tar emot anslutningen
    • roundrobin:Varje server används i tur och ordning, enligt deras vikt
    • källa:Källans IP-adress hashas och divideras med den totala vikten av de körande servrarna för att ange vilken server som ska ta emot begäran

Nu kan du granska sammanfattningen och distribuera den.

ClusterControl kommer att skapa de virtuella datorerna, installera programvaran och konfigurera den, alla i samma jobb och på ett obevakat sätt.

Du kan övervaka skapelseprocessen i aktivitetsavsnittet ClusterControl. När det är klart kommer du att se ditt nya kluster på ClusterControls huvudskärm.

Om du vill kontrollera Load Balancers-noderna kan du gå till ClusterControl -> Noder -> HAProxy-nod, och kontrollera aktuell status.

Du kan också övervaka dina HAProxy-servrar från ClusterControl genom att kolla avsnittet Dashboard.

Nu är du klar, du kan kontrollera din molnleverantörs hanteringskonsol, där du hittar de virtuella maskiner som skapats enligt dina valda ClusterControl-jobbalternativ.

Slutsats

Som du kunde se är det väldigt enkelt att ha en lastbalanserare framför ditt PostgreSQL-kluster i molnet med den nya ClusterControl "Deploy in the Cloud"-funktionen, där du kan distribuera dina databaser och Load Balancer-noder i samma jobb.


  1. Får ett udda fel, SQL Server-frågan använder "WITH"-satsen

  2. Uppföljning #1 på ledande jokerteckensökningar

  3. Hur man övervakar databasinstansernas tillstånd

  4. MySQL-replikering och GTID-baserad failover - en djupdykning i felaktiga transaktioner