Zend - The PHP Company


Zend Server Cluster Manager

Hohe Verfügbarkeit mit Zend Server Cluster Manager

Hier finden Sie unser White Paper "Session Clustering in PHP" »

Wenn Sie eine wirklich hoch verfügbare PHP-Applikation bereitstellen wollen, dann müssen Sie diese über einen Cluster von mehreren Servern verteilen und Schwachstellen in einzelnen Servern vermeiden.  Redunanz ist ein wesentlicher Aspekt einer hohen Verfügbarkeit - Zend Server Cluster Manager hilft Ihnen dabei, einfach Ihre Applikation auf ein Cluster zu skalieren.

Jedoch sind Redunanz und Ausfallsicherheit nicht das einzige. Wenn einer der Server im Cluster ausfällt, muss die Session, die auf dieser Maschine gespeichert wurde, für die anderen Server im Cluster verfügbar sein. Sonst werden die End-Nutzer feststellen, dass Ihre Transaktion unterbrochen wurde, Ihr Warenkorb leer ist oder Ihre Eingaben verschwunden sind. Das ist natürlich für eine hoch-verfügbare Applikation nicht tragbar!

Daher bietet Zend Server Cluster Manager jetzt integrierte PHP-Session-Clustering-Funktionen - optimal für business-kritische Applikationen. Sobald ein anderer Server eine bestimmte Anfrage eines Users bearbeitet, geht die Session nahtlos auf diesen über und der End-User bemerkt keinerlei Beinträchtigung des Services.

So funktioniert Zend Session Clustering

Jede neue PHP-Session wird an zwei Stellen gespeichert: auf einem Master-Server und einem Backup-Server. Wenn eine neue Session erstellt wird, ist der Server, der die Anfrage zur Erstellung einer neuen Session erhalten hat, der Master-Server. Der Session Clustering Daemon bestimmt dann den Server mit der wenigsten Last im Cluster zum Backup-Server.



Zend Server Cluster Manager PHP Servers List
Die interne Identifikation des Master- und Backup-Servers ist in der Session-ID des Users verschlüsselt. Somit kann jeder Server im Cluster über das Session-ID-Kürzel des Clients sowohl den Master- als auch Backup-Server finden - ohne irgendwelche Hash-Table-Suchen ausführen oder in irgendwelchen zentralen Datenbanken nachschlagen zu müssen (wie es zum Teil bei anderen Session-Clustering-Techniken notwendig ist  - mit Auswirkungen sowohl auf die Geschwindigkeit als auch Skalierbarkeit).
Sobald jetzt eine spätere Anfrage von einem Server, der weder Master- noch Backup-Server ist, bearbeitet wird - entweder zum Lastausgleich oder wegen Ausfall einer Maschine - erkennt der neue Server anhand der Session-ID, wo er die Session-Daten finden kann.  Wenn der Master-Server erreichbar ist, so hat der neue Server hier Zugang zu den Session-Daten. Wenn der Master-Server nicht erreichbar ist, werden die Session-Daten vom Backup-Server abgerufen - damit wird der Backup-Server zum neuen Master-Server und bestimmt einen neuen Backup-Server.

Skalierbarkeit und hohe Verfügbarkeit

Session Clustering wurde für transparente, lineare Skalierbarkeit konzipiert. Wenn Sie neue Server zum Cluster hinzufügen, steigern Sie linear die Fähigkeit, zusätzliche Sessions zu bearbeiten. Zend Server Cluster Manager kümmert sich darum, die Konfiguration auf allen Cluster-Servern zu aktualisieren, damit diese für den neuen Server gerüstet sind. Der Traffic auf dem neuen Server erstellt neue Sessions, und der Algorithmus zur Auswahl von Backup-Server gewährleistet, dass die Session-Last auf allen Servern letztendlich (und normalerweise innerhalb weniger Minuten) gleich verteilt ist.

Nach einer Periode mit hohem Traffic wieder nach unten zu skalieren ist mit dem eleganten Abschalt-Mechanismus in Zend Server Cluster Manager genauso einfach. Sobald ein Server aus dem Cluster entfernt wird, bestimmt er einen der anderen Server im Cluster als Ersatz-Server. Sämtliche aktiven Sessions werden dann auf diesen Server übertragen. Während der Zeit, in der der Server abgelöst wird, werden keine neuen Session mehr angenommen. Nachdem der Transfer abgeschlossen ist (normalerweise dauert der ganze Prozess ein paar Sekunden bis zu einer Minute - abhängig vom Speicher-Backend, Anzahl der Sessions und Netzwerk-Datendurchlauf), informiert der abgelöste Server alle Cluster-Elemente darüber, dass er ersetzt wurde.


Hier finden Sie unser White Paper "Session Clustering in PHP" »

Ressourcen
FOREN

User Foren Mehr erfahren»

DATENBLATT

Read more about Zend Server Production Solution features Mehr erfahren»

WEBINAR

Scalable High-Availability Session Storage with Zend Server Mehr erfahren»

DOKUMENTATION

E-Dokumentation Mehr erfahren»

WHITE PAPER

Session Clustering in PHP - Wie man eine skalierbare Ausfallsicherung für PHP Sessions implementiert (englisch) Mehr erfahren»