sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-taakverdeling in de cloud gemakkelijk gemaakt

We hebben al vaak de voordelen genoemd van het gebruik van een Load Balancer in uw databasetopologie. Het kan zijn om verkeer om te leiden naar gezonde databaseknooppunten, het verkeer over meerdere servers te verdelen om de prestaties te verbeteren, of gewoon om een ​​enkel eindpunt in uw toepassing te configureren voor een eenvoudiger configuratie- en failoverproces.

Met de nieuwe ClusterControl 1.7.6-versie kunt u niet alleen uw PostgreSQL-cluster direct in de cloud implementeren, maar u kunt ook Load Balancers in dezelfde taak implementeren. Hiervoor ondersteunt ClusterControl AWS, Google Cloud en Azure als cloudproviders. Laten we eens kijken naar deze nieuwe functie.

Een nieuw databasecluster maken

Voor dit voorbeeld gaan we ervan uit dat u een account heeft bij een van de genoemde ondersteunde cloudproviders en dat u uw inloggegevens hebt geconfigureerd in een ClusterControl 1.7.6-installatie.

Als je het niet hebt geconfigureerd, moet je naar ClusterControl -> Integraties -> Cloud Providers -> Cloud Credentials toevoegen.

Hier moet u de cloudprovider kiezen en de bijbehorende informatie toevoegen.

Deze informatie is afhankelijk van de cloudprovider zelf. Voor meer informatie kunt u onze officiële documentatie raadplegen.

U hoeft geen toegang te krijgen tot de beheerconsole van uw cloudprovider om iets te maken, u kunt uw virtuele machines, databases en load balancers rechtstreeks vanuit ClusterControl implementeren. Ga naar het gedeelte Implementeren en selecteer "Deploy in the Cloud".

Geef de leverancier en versie op voor uw nieuwe databasecluster. In dit geval gebruiken we PostgreSQL 12.

Voeg het aantal knooppunten, de clusternaam en database-informatie zoals referenties en serverpoort.

Kies de cloudreferenties, in dit geval gebruiken we een AWS rekening. Als uw account nog niet is toegevoegd aan ClusterControl, kunt u onze documentatie voor deze taak volgen.

Nu moet u de configuratie van de virtuele machine specificeren, zoals besturingssysteem, grootte, en regio.

In de volgende stap kunt u Load Balancers toevoegen aan uw databasecluster. Voor PostgreSQL ondersteunt ClusterControl HAProxy als Load Balancer. U moet het aantal Load Balancer-knooppunten, de instantiegrootte en de Load Balancer-informatie selecteren.

Deze Load Balancer-informatie is:

  • Luisterpoort (lezen/schrijven):Poort voor lees-/schrijfverkeer.
  • Luisterpoort (alleen-lezen):poort voor alleen-lezen verkeer.
  • Beleid:Dit kan zijn:
    • leastconn:de server met het laagste aantal verbindingen ontvangt de verbinding
    • roundrobin:elke server wordt om de beurt gebruikt, op basis van hun gewicht
    • bron:het bron-IP-adres wordt gehasht en gedeeld door het totale gewicht van de actieve servers om aan te geven welke server het verzoek zal ontvangen

Je kunt nu de samenvatting bekijken en implementeren.

ClusterControl maakt de virtuele machines, installeert de software en configureert deze, allemaal in hetzelfde werk en op een onbeheerde manier.

U kunt het aanmaakproces volgen in het gedeelte ClusterControl-activiteit. Als het klaar is, ziet u uw nieuwe cluster in het hoofdscherm van ClusterControl.

Als u de Load Balancers-knooppunten wilt controleren, gaat u naar ClusterControl -> Knooppunten -> HAProxy-knooppunt en controleer de huidige status.

U kunt uw HAProxy-servers ook vanuit ClusterControl controleren door het gedeelte Dashboard te controleren.

Nu u klaar bent, kunt u de beheerconsole van uw cloudprovider controleren, waar vindt u de virtuele machines die zijn gemaakt volgens uw geselecteerde ClusterControl-taakopties.

Conclusie

Zoals u kon zien, is het heel eenvoudig om een ​​Load Balancer voor uw PostgreSQL-cluster in de cloud te hebben met behulp van de nieuwe ClusterControl "Deploy in the Cloud"-functie, waar u uw databases en Load Balancer-knooppunten in dezelfde taak kunt implementeren.


  1. Oracle SQL DATE-conversieprobleem met iBATIS via Java JDBC

  2. MySQL select statement met CASE of IF ELSEIF? Weet niet hoe je het resultaat krijgt

  3. INSTR() Functie in Oracle

  4. Wat zijn de verschillen tussen INSERT en UPDATE in MySQL?