Shopware Loadbalancer (haproxy, Nginx)

Hallo liebe Shopware community,

ich würde gerne shopware beim hoster digitalocean nutzen. Hier wäre meine Frage, ob jemand schon eine geglückte und performante konfiguration hinter einem Loadbalancer (HA Proxy oder NGINX) hinbekommen hat.

Mit geht es konkret darum, einen Loadbalancer zu haben, der requests zu z.b. 2 Appservern (shopware) verteilt (DB ebenfalls eigene vps).

Stichwort: Sessions über Redis / Sticky Session in HA Proxy / GlusterFS storage

Hat hier jemand Erfahrungen zu dem Thema gemacht?

vielen lieben dank euch und beste Grüße,

Chris

Hi,

hierzu erarbeiten wir gerade Standard-Konfiguration / Vorschläge, damit nicht jeder das Rad neu erfinden muss. Prinzipiell lässt sich das gut in Shopware abbilden, für die Sessions kannst du gut Memcache benutzen: https://developers.shopware.com/sysadmins-guide/memcached-as-session-handler/

Vor den Appservern muss in der Regel SSL-Offloading, Caching und LoadBalancing geschehen - abhängig davon, wie genau die Anforderungen sind, kann das auch kombiniert werden, so dass bspw. der Varnish auch als LB auftritt. Einige Kunden möchten aber auch einen LB der auf mehrere Varnish-Instanzen verteilt, gerade im HA-Bereich sicher relevant.

Weiterhin hast du dann in der Regel 2 oder mehr Appserver plus einen Adminserver. Über den Adminserver geschieht die Backend-Pflege (die Route ist auf den Appservern also vll. gar nicht öffentlich erreichbar), dort laufen die Cronjobs und das Deployment. Weiterhin dient er als Jumpserver zu allen weiteren Instanzen. Vom Admin-Server synchronisierst du dann die Codebasis zu den Appservern - bspw. mit Tools wie rsync oder lsyncd: GitHub - axkibe/lsyncd: Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets

Die Synchronisation von Bilddateien kann dann über einen CDN-Adapter (MediaService) abgebildet werden. Je nach Setup und Anforderung kann man da aber sicher auch über einen NFS-Share sprechen, für Mediendateien ist der ja noch ausreichend schnell, zumal die Möglichkeit besteht, noch einen Assetcache vorzuschalten. Wenn der Shop nur weniger Bilder hat, könnte man sogar überlegen, diese ebenfalls vom Adminserver auf die Appserver zu duplizieren - das ist aber ebenfalls individuell.

Ich hoffe, das hilft so grundsätzlich als Abriss schonmal weiter, dazu wird es auf dem SCD auch einen Talk mit Jan Peschke (Sys11) und mir geben :slight_smile:

Schönen Gruß,

Daniel