Arkitektur

Valet av en stabil arkitektur som skalar horisontellt är kritiskt. I fredags hade vi en session kring arkitektur och kom fram till följande förslag:

1. Längst fram två lastbalanserare, Linux LVS som monitoreras och styrs via Heartbeat.

2. Sedan 4 st cachar av typen Varnish. Varnish lastbalanserar mellan fyra WP-maskiner med Pen.

3. 4 st WP-maskiner (utan admin) står för leveransen utåt. WP-Admin ligger på två separata maskiner (för redundans) som inte exponeras utåt. Memchached körs där det finns minne över.

4. HyperDB kopplar ihop WP med MySQL-klustret som består av 2 st MySQL-Mastrar för skrivning (för redundans – ej prestanda) och 2 st MySQL-slavar för läsning.

På så sätt kan ytterligare maskiner läggas till i varje led genom horisontell skalning: Varnish (knappast troligt, 4 är mer än nog), WordPress eller Mysql-slavar för läsning.

Annonser

6 thoughts on “Arkitektur

  1. Hur tänkte ni lösa problemet med att ha två master databaser? WordPress har väl inget stöd för universellt unika identifierare mellan tabeller? Eller siktar ni på att skriva ett plugin för detta?

    Och varför använda Pen mellan Varnish och Nginx (eller Apache)? Varnish har ju ingbyggt stöd för round-robin balansering.

  2. Behövs Pen? Lastbalansering direkt i Varnish kanske kan vara ett alternativ?

    För övrigt följer vi ert projekt med stort intresse och är mycket tacksamma för att ni delar med er vad ni lär er (och oss) på vägen.

  3. HyperDB stödjer väl flera Masters? Från dokumentationen: HyperDB allows you to split database writes and reads and assign each to an array of servers.

    Pen har vi kört sedan urminnes tider och det fungerar väldigt bra. Den inbyggda lastbalanseringen i Varnish är ett alternativ.

  4. HyperDB har fint stöd Master – Master.

    Pen, som AB har god erfarenhet av, är antagligen att föredra eftersom Varnish egna lastbalansering inte trivs så bra med Nginx (som var ett av alternativen som httpd i diskussionen).

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s