Hoe werkt Galera en hoe past Shock Media deze techniek toe?

Bedrijfskritische applicaties van klanten vereisen doorgaans een kritieke hosting omgeving waarbij data op elk moment beschikbaar moet zijn. Om dit te realiseren is het belangrijk dat er een opstelling wordt opgezet waarbij uitval van een server of applicatie geen invloed heeft op de beschikbaarheid van de kritieke omgeving. Bij uitval kan gedacht worden aan uitval door een storing, het herstarten van een server voor een kritieke update, maar ook het herstarten van alleen de webserver of database-server. Om deze uitval op te kunnen vangen is het van belang dat er van elk onderdeel in de omgeving altijd meerdere real-time kopieën beschikbaar zijn welke de taak kunnen overnemen.

Niels te Grotenhuis

Senior Solution Architect

Eén van de technieken die Shock Media toepast om uitval op te vangen binnen kritieke omgevingen is Galera. Galera wordt in combinatie met MySQL gebruikt bij databases en maakt het mogelijk om meerdere MySQL-servers te clusteren. Alle MySQL-servers binnen zo’n cluster maken gebruik van exact dezelfde data. Tevens worden aanpassingen van data in het cluster continu gesynchroniseerd naar andere servers binnen het cluster. Hierbij kan elke server binnen dit cluster aanpassingen maken aan de data, een zogenoemd 'Multi-Master Cluster'.

De meeste applicaties welke gebruik maken van MySQL zullen geen of weinig aanpassingen nodig hebben om te draaien op een Galera-cluster. Dit komt doordat elke server in het cluster gebruikt kan worden om beschreven en gelezen te worden. Doordat er geen of weinig aanpassingen vereist zijn is het voor klanten slechts een kleine stap om door te groeien naar een Galera-opstelling, welke de zekerheid biedt dat de uitval van een MySQL-server niet meer tot uitval van de applicatie zal leiden.

Hoe werkt Galera?
In grote lijnen werkt Galera op basis van datareplicatie van servers binnen een cluster, waarbij de data van het cluster continu gesynchroniseerd wordt tussen alle nodes. Wanneer er op één server data wordt toegevoegd of gewijzigd middels een MySQL-query zorgt dit voor wijzigingen van data op het gehele cluster. Galera zorgt ervoor dat wijzigingen van data worden verspreid over alle andere servers. Hierdoor werken alle servers constant met dezelfde data.

Overlap van data
Bij het schrijven van data door meerdere servers tegelijk en het continu tegelijk synchroniseren van deze data over de servers, kijkt Galera of de schrijfacties elkaar in de weg zitten waardoor er een 'lock' ontstaat.

  • Mocht er geen overlap van data zijn, dan zullen de schrijfacties gelijktijdig uitgevoerd worden en zal het cluster de rest van de servers op basis van deze wijzigingen weer gelijk maken met de data op het cluster.
  • Mocht er wel overlap zijn, dan wordt één schrijfactie in de wacht gezet tot de andere schrijfactie voltooid. Vervolgens wordt de query opnieuw uitgevoerd. Galera gaat heel slim om met datawijzigingen, zodat deze ‘locks’ en het in de wacht zetten zo veel mogelijk worden voorkomen.

Vereisten
In een enkele MySQL-server komen locks ook voor, echter binnen een Galera-opstelling kunnen ‘locks’ in meer situaties voorkomen. Hierdoor is het mogelijk dat er aanpassingen zijn vereist in de afhandeling van queries en deze moeten worden doorgevoerd in sommige applicaties. Een andere vereiste voor de applicatie is dat alle tabellen welke gesynchroniseerd moeten worden binnen het cluster gebruik moeten maken van InnoDB.

Galera bij Shock Media
Shock Media is uiterst ervaren op het gebied van Galera en veel opdrachtgevers maken dan ook al gebruik van een Galera-opstelling voor de database infrastructuur. De omgevingen welke gebruik maken van Galera variëren van grote Magento-webshops en Wordpress-installaties tot volledige maatwerk (web)applicaties. Ook veel van onze eigen interne systemen maken al jaren gebruik van een Galera-opstelling. Hierbij is gekozen om de opstelling over 4 geografisch gescheiden locaties op te zetten. Hierbij wordt data continu gesynchroniseerd en heeft eventuele uitval van één of zelfs meerdere locaties geen invloed op de beschikbaarheid van de interne systemen die nodig zijn om onze werkzaamheden te kunnen verrichten.

Hulp nodig, vragen of opmerkingen?

+31 (0) 546 - 714360

Meer actueel

Maak kennis met... Matthijs!

Hij is bijna 10 jaar geleden begonnen als student maar heeft zich ontwikkeld tot Head of Development. Hij is niet alleen een ervaren Developer met een talent voor analytisch programmeren, maar heeft ook bewezen handig te zijn in het compleet zelfstandig verbouwen van zijn eigen woning. Ik heb het natuurlijk over… Matthijs! In deze blog stel ik hem graag aan jullie voor.

Maak kennis met... Remon!

Met zijn zeer brede kennis en expertise is onze Head of Support al ruim 9 jaar een zeer waardevol lid van ons team en staat hij altijd klaar om onze klanten en onze collega's te helpen bij het oplossen van hun problemen. Ik heb het natuurlijk over… Remon! In deze blog stel ik hem graag aan jullie voor.

Shock Media LAN Olympics 2023!

Afgelopen vrijdag was het gelukkig weer zover, een nieuwe editie van onze zeer befaamde LAN-party! We hadden er allemaal enorm veel zin in en zijn dan ook druk bezig geweest met de voorbereidingen om er weer een onvergetelijke avond van te maken. En dat is zeker gelukt! Er is tot in de late uurtjes (of beter gezegd: vroege uurtjes) gegamed, gelachen, gegeten en genoten. Wie zal er deze keer vandoor zijn gegaan met de bekers?