sql >> Database teknologi >  >> RDS >> MariaDB

Migrering fra Maxscale til ProxySQL Load Balancer

En database-load balancer eller proxy er en middleware-tjeneste mellem applikationslag og databaselag. Applikationen opretter forbindelse til databasens proxy, og proxyen videresender forbindelsen til databasen. Der er nogle fordele ved at bruge en databaseproxy, for eksempel:opdelt læse- og skriveforespørgsler, cacheforespørgsler, distribuere forespørgsler baseret på en eller anden routingalgoritme, forespørgsler omskriver og skaler din skrivebeskyttede arbejdsbyrde. En databaseproxy abstraherer også databasetopologien (og eventuelle ændringer) for applikationslaget, så applikationer kun behøver at oprette forbindelse til ét enkelt slutpunkt.

Der er forskellige databaseproxyer derude, fra kommercielle til open source-muligheder, f.eks. HAProxy, Nginx, ProxySQL, Maxscale osv.  I denne blog vil vi diskutere, hvordan man migrerer databaseproxyer fra Maxscale til ProxySQL ved hjælp af ClusterControl.

Nuværende arkitektur med Maxscale

Overvej en meget tilgængelig databasearkitektur, som består af 3 noder i en Galera-klynge, og oven i det, 2 Maxscale- og Keepalved-tjenester for høj tilgængelighed af databaseproxyen. Galera Cluster er "stort set" synkrone replikationer, det bruger en certificering baseret på replikering, der sikrer, at dine data vil være tilgængelige på alle noder. Den aktuelle arkitektur er vist nedenfor:

Maxscale er en databaseproxy fra MariaDB Corporation, der fungerer som middleware mellem programmer og databaser.

Her er topologiarkitekturen for Galera Cluster og Maxscale load balancers i ClusterControl. Du er i stand til at implementere alt dette direkte fra ClusterControl eller importere eksisterende databaser og proxynoder til ClusterControl. Du kan se din databasetopologi på fanen Topologi.

Implementer ProxySQL &Keepalived

ProxySQL er en anden databaseproxy fra ProxySQL, som giver nogle funktioner såsom forespørgselscache, forespørgselsomskrivninger, forespørgsler opdelt til skrivning og læsning baseret på forespørgselsmønster. For at implementere ProxySQL i ClusterControl skal du gå til Administrer -> Load Balancers i din klynge. ClusterControl understøtter et par forskellige databaseproxyer; HAProxy, ProxySQL, MaxScale.

Vælg ProxySQL, og det vil vise nedenstående side:

Vi skal vælge den serveradresse, hvor ProxySQL skal installeres. Vi kan enten installere på de eksisterende noder, eller hvis du vil have en dedikeret node til ProxySQL, skal du blot skrive IP-adressen på listen. Udfyld adgangskoden for administrations- og overvågningsbrugere, tilføj applikationsbrugeren til ProxySQL, eller du kan konfigurere senere. Aktiver, at databaseserverne inkluderes i belastningsbalanceringssættet i ProxySQL. Klik på knappen Implementer ProxySQL. Vi skal have mindst 2 ProxySQL for høj tilgængelighed.

Hvis vi glemmer at tilføje en databasebruger til ProxySQL under opsætningen, kan vi konfigurere den på ProxySQL-brugerfanen som vist nedenfor:

ProxySQL kræver, at databasebrugere også er konfigureret i ProxySQL.

Efter at ProxySQL er implementeret, fortsætter vi med at konfigurere Keepalived på hver ProxySQL-vært. Keepalive-tjenester vil fungere som master-/backup-roller på tværs af ProxySQL-instanserne. Keepalved-tjenesten bruger VIP (Virtuel IP-adresse), så applikationen vil oprette forbindelse til en virtuel IP-adresse på masterrollen og videresende forbindelsen til den lokale ProxySQL. Hvis tjenesterne fejler, vil VIP automatisk blive flyttet til en anden node.

Deployering af keepalived i ClusterControl udføres på samme side som databaseproxyen, du skal blot vælge fanen Keepalved. Vælg load balancer-typen, som er ProxySQL, og tilføj derefter den aktuelle ProxySQL for Keepalived1 og Keepalived2. Udfyld den virtuelle IP-adresse og netværksgrænsefladen. Og til sidst skal du klikke på knappen Implementer Keepalived.

At køre to ProxySQL med Keepalived-tjenester giver os et proxylag med høj tilgængelighed. I ClusterControl vises det i nedenstående topologivisning:

Skift

Omskiftning af trafikken er virkelig ligetil, du skal bare ændre ip-adresseforbindelsen i applikationslaget for at bruge Virtual IP-adresse til ProxySQL, og derefter overvåge trafikken gennem ProxySQL.

 


  1. GDPR-overholdelse og din SQL-server

  2. Simpel Oracle-forespørgsel:literal svarer ikke til formatstreng

  3. Brug af Oracle® Heterogene Services med to ODBC-datakilder

  4. SQL-serverens ydeevnemålinger for at være på forkant med spillet