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

Il bilanciamento del carico di PostgreSQL nel cloud semplificato

Abbiamo menzionato molte volte i vantaggi dell'utilizzo di un Load Balancer nella topologia del database. Potrebbe essere utilizzato per reindirizzare il traffico a nodi di database integri, distribuire il traffico su più server per migliorare le prestazioni o semplicemente per avere un singolo endpoint configurato nell'applicazione per una configurazione più semplice e un processo di failover.

Ora, con la nuova versione ClusterControl 1.7.6, non solo puoi distribuire il tuo cluster PostgreSQL direttamente nel cloud, ma puoi anche distribuire Load Balancer nello stesso lavoro. Per questo ClusterControl supporta AWS, Google Cloud e Azure come provider cloud. Diamo un'occhiata a questa nuova funzionalità.

Creazione di un nuovo cluster di database

Per questo esempio, assumiamo che tu abbia un account con uno dei provider cloud supportati menzionati e che abbia configurato le tue credenziali in un'installazione ClusterControl 1.7.6.

Se non lo hai configurato, devi andare su ClusterControl -> Integrazioni -> Cloud Provider -> Aggiungi Credenziali Cloud.

Qui devi scegliere il provider cloud e aggiungere le informazioni corrispondenti.

Queste informazioni dipendono dal provider cloud stesso. Per ulteriori informazioni, puoi consultare la nostra documentazione ufficiale.

Non è necessario accedere alla console di gestione del provider cloud per creare nulla, è possibile distribuire le macchine virtuali, i database e i sistemi di bilanciamento del carico direttamente da ClusterControl. Vai alla sezione di distribuzione e seleziona "Distribuisci nel cloud".

Specifica il fornitore e la versione per il tuo nuovo cluster di database. In questo caso, utilizzeremo PostgreSQL 12.

Aggiungi il numero di nodi, il nome del cluster e le informazioni sul database come credenziali e porta del server.

Scegli le credenziali cloud, in questo caso utilizzeremo un AWS account. Se non hai ancora aggiunto il tuo account in ClusterControl, puoi seguire la nostra documentazione per questa attività.

Ora devi specificare la configurazione della macchina virtuale, come sistema operativo, dimensioni, e regione.

Nel passaggio successivo, puoi aggiungere Load Balancer al tuo cluster di database. Per PostgreSQL, ClusterControl supporta HAProxy come Load Balancer. È necessario selezionare il numero di nodi di Load Balancer, la dimensione dell'istanza e le informazioni di Load Balancer.

Queste informazioni sul bilanciamento del carico sono:

  • Porta di ascolto (lettura/scrittura):porta per il traffico di lettura/scrittura.
  • Porta di ascolto (sola lettura):porta per il traffico di sola lettura.
  • Politica:può essere:
    • leastconn:il server con il numero più basso di connessioni riceve la connessione
    • roundrobin:ogni server viene utilizzato a turno, in base al proprio peso
    • fonte:l'indirizzo IP di origine viene sottoposto a hash e diviso per il peso totale dei server in esecuzione per designare quale server riceverà la richiesta

Ora puoi rivedere il riepilogo e distribuirlo.

ClusterControl creerà le macchine virtuali, installerà il software e lo configurerà, tutto nello stesso lavoro e in modo non presidiato.

Puoi monitorare il processo di creazione nella sezione dell'attività ClusterControl. Al termine, vedrai il tuo nuovo cluster nella schermata principale di ClusterControl.

Se vuoi controllare i nodi Load Balancer, puoi andare su ClusterControl -> Nodi -> nodo HAProxy e verifica lo stato corrente.

Puoi anche monitorare i tuoi server HAProxy da ClusterControl controllando la sezione Dashboard.

Ora hai finito, puoi controllare la console di gestione del tuo provider cloud, dove troverai le Macchine Virtuali create in base alle opzioni di lavoro ClusterControl selezionate.

Conclusione

Come puoi vedere, avere un Load Balancer davanti al tuo cluster PostgreSQL nel cloud è davvero facile usando la nuova funzionalità ClusterControl "Deploy in the Cloud", dove puoi distribuire i tuoi database e nodi Load Balancer nello stesso lavoro.