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... Semih!

Hij is Sales Representative bij Shock Media, vierde vorige maand dat hij al 3 jaar bij ons werkt en in zijn vrije tijd staat hij op het veld wedstrijden te fluiten of in de zaal voor een concert van een van zijn favoriete bands. Deze maand stel ik jullie voor aan… Semih!

Maak kennis met... Jaap-Jan!

Hij is Software Engineer bij Shock Media, altijd vrolijk en zijn tafeltennis opslag is ongeëvenaard. Bij ons staat hij beter bekend als JJ; in deze blog stel ik jullie voor aan… Jaap-Jan!

Shock Media op het Bedrijven Beachvolleybaltoernooi

Afgelopen vrijdag was het zo ver. Na wekenlange (mentale) voorbereiding hesen onze beste spelers zich in het rode Shock Media shirt om mee te doen aan het Bedrijven Beachvolleybaltoernooi in Almelo! Ondanks de hitte streed team Shock om de overwinning op Het Sportpark. Hieronder lees je hoe dat ging…