
Anleitungen im Zusammenhang mit Beach
Wie man eine Instanz skaliert
Wenn du eine Instanz mithilfe zusätzlicher Replikate skalieren musst, gibt es einige Dinge zu beachten.
Konfiguration der Skalierung
Die Skalierung einer Instanz ist eigentlich ganz einfach: Du stellst einfach die gewünschte maximale Anzahl von Replikaten für die Instanz in der Benutzeroberfläche Beach ein. Wenn du einen Plan mit automatischer Skalierungsunterstützung hast, kannst du drei Werte einstellen: die minimale und maximale Anzahl der Replikate sowie die CPU-Auslastung, die eine Skalierung auslösen soll.


Aber sobald du mehr als eine Instanz hast, sieht die Sache anders aus als bei nur einer...
Die Cache-Konfiguration
Einer dieser Punkte ist die Konfiguration des Flow-Caches. Für die meisten Caches ist es in Ordnung, wenn sie pro Replikat vorhanden sind, aber einige sollten zwischen den Replikaten geteilt werden:
- Session-Caches sollten gemeinsam genutzt werden, um zu verhindern, dass Nutzer/innen ihre session verlieren, wenn sie zwischen Anfragen auf verschiedenen Replikaten landen.
- Der HashService hat einen dauerhaften Cache, um den Verschlüsselungsschlüssel zu speichern, den Flow für einige Dinge verwendet. Einer davon ist die HMAC-Berechnung, die zur Sicherung von Formularen und Logins verwendet wird und daher über alle Replikate hinweg konsistent sein muss.
Wir empfehlen, diese Caches in der Datenbank zu speichern - auf diese Weise überlebt die Session sogar ein Cluster-Upgrade. 😎
Flow_Security_Cryptography_HashService: &pdoBackend
backend: 'Neos\Cache\Backend\PdoBackend'
backendOptions:
dataSourceName: 'mysql:host=%env:BEACH_DATABASE_HOST%;dbname=%env:BEACH_DATABASE_NAME%'
username: '%env:BEACH_DATABASE_USERNAME%'
password: '%env:BEACH_DATABASE_PASSWORD%'
defaultLifetime: 0
Flow_Session_Storage: *pdoBackend
Flow_Session_MetaData: *pdoBackend