Session Storage in Zend Server Cluster Manager

1.333 Aufrufe

Veröffentlicht am

Dies sind die Präsentationsfolien des Zend Webinars "Session Storage in Zend Server Cluster Manager".

Nahezu alle PHP Applikationen nutzen heute Sessions und viele von ihnen nutzen Sessions zur Speicherung business-kritischer Daten. Mit dem Session Clustering Feature des Zend Server Cluster Managers können Sie Sessions auch innerhalb eines Clusters von PHP Servern speichern und verteilen. Und das in einer Art und Weise, die linear skalierbar, leicht zu handhaben und - am wichtigsten - hochverfügbar ist.

Das dazugehörige Webinar kann unter http://bit.ly/q9Sofj angeschaut werden, nach einer kurzen, kostenlosen Registrierung.

Veröffentlicht in: Technologie
1 Kommentar
0 Gefällt mir
Statistik
Notizen
  • Dies sind die Präsentationsfolien des Zend Webinars 'Session Storage in Zend Server Cluster Manager'.

    Das dazugehörige Webinar kann unter http://bit.ly/q9Sofj angeschaut werden, nach einer kurzen, kostenlosen Registrierung.
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.333
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
0
Kommentare
1
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Session Storage in Zend Server Cluster Manager

  1. 1. Session Storage imZend Server Cluster ManagerJan BurklSystem Engineer, Zend TechnologiesDas Webinar kann hier angeschaut werden:http://www.zend.com/de/webinar/ZSCM/70170000000bIaI-Session-Storage-ZSCM-20100722_DE.flv © All rights reserved. Zend Technologies, Inc.
  2. 2. Agenda • Einführung in Zend Server und ZSCM • Überblick über PHP Sessions • Zend Session Clustering  Session Hochverfügbarkeit  Skalierung (up/down) mit Session Clustering2 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  3. 3. Zend Server Cluster ManagerZend’s leading PHP Web Application Server just got Clustered © All rights reserved. Zend Technologies, Inc.
  4. 4. Was ist Zend Server? • Zend’s Web Application Server für PHP • Bietet eine stabile, zertifizierte PHP Umgebung mit weiteren Features  Teile im Zend Server Community Edition (aber nicht das Clustering Feature) • Ähnliche, konsistente Umgebung für Linux und Windows • Performance: Opcode Caching, Data Caching, Page Caching • Zuverlässigkeit: Monitoring, Security Hot Fixes, Code Tracing • Infrastruktur: Job Queue, Session Clustering4 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  5. 5. Was ist Zend Server Cluster Manager? • Zentrale Managementstelle für einen Cluster mit Zend Server Instanzen • Zentrales Konfigurationsmanagement • Zentrales Monitoring • Session Clustering5 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  6. 6. PHP und SessionsRepresenting state over a stateless protocol © All rights reserved. Zend Technologies, Inc.
  7. 7. User Sessions in HTTP • HTTP ist ein statusloses Protokoll – es gibt keine “User Session”  Vergleich: HTTP zu FTP oder SSH  Das HTTP Protokoll definiert keinen Weg, der eine Reihe von Requests einem einzelnen User zuweist  Requests eines einzelnen Users können über eine oder mehrere TCP Connection gesendet werden • Auch mehrere Connections parallel • Pro: HTTP skaliert sehr gut • Contra: User Status muss über die Applikation abgebildet werden7 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  8. 8. User Sessions in HTTP • Ein einfacher Use Case: Eingeloggte User identifizieren  Bei zwei aufeinanderfolgenden Request: Woher weiß man, dass sie vom selben User kommen?  Wie kann ich feststellen, dass ein User eingeloggt ist, bevor diverse Aktionen autorisiert werden? • Zusammenhängende, vom gleichem User stammende Requests identifizieren • Informationen die zu einem User gehören über mehrere Requests hinweg speichern8 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  9. 9. PHP Sessions sind die Rettung! • PHP bietet einen eingebauten Mechanismus, um User Session zu verarbeiten • Eine Serie von Requests eines Users werden über eine Session ID eindeutig identifiziert • Die Session ID wird vom Browser zum Server über ein Cookie oder GET/POST Parameter geschickt • Um semipersistente Session Daten zu speichern, benutzt PHP einen Session Save Handler • Es gibt sehr viele Session Save Handler - das Umschalten erfordert in der Regel keine Code-Änderungen9 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  10. 10. Session Handling in PHP10 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  11. 11. Sessions vs. Cookies • HTTP Cookies können benutzt werden, um nutzerspezifische semipersistente Daten zu speichern und dadurch den Status abzubilden • Anders als PHP Sessions, werden Cookies auf der Client Seite gespeichert  Die Applikation sollte Daten aus einem Cookie nie vertrauen • Cookie Daten werden bei jedem Request zwischen Browser und Server hin und her geschickt  Große Datenmengen sollten nicht im Cookie gespeichert werden • Cookies sind gut geeignet um Session ID zu transferieren11 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  12. 12. Unterschiedliche Session Handling Mechanismen • Default mäßig speichert PHP Session Daten in lokalen Files  Andere Save Handler können über Extensions oder im PHP Code implementiert werden • In den meisten Fällen ist es sehr schwierig zu skalieren, wenn “local file storage” eingesetzt wird  Sticky Loadbalancer kann helfen, hat aber auch Nachteile  NFS ist eine schlechte Idee • Es sind verschiedene clusterfähige Session Save Handler verfügbar12 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  13. 13. Zend Session ClusteringDesigned and built for serious session handling © All rights reserved. Zend Technologies, Inc.
  14. 14. Was macht Session Clustering? • Session Clustering ist ein PHP Session Storage Mechanismus  Session Clustering ist skalierbar  Session Clustering ist fehlertolerant  Session Clustering ist schnell  Session Clustering ist cloudfähig • Session Clustering kann transparent bei nahezu jeder PHP Applikation eingesetzt werden14 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  15. 15. Wie arbeitet Session Clustering? • Session Clustering besteht aus zwei Hauptteilen:  Session Clustering Extension (mod_cluster Save Handler)  Session Clustering Daemon (“SCD”) • Meiste Arbeit übernimmt der Daemon  Die Extension ist verantwortlich für die Kommunikation zwischen PHP und dem Daemon • Session werden auf Platte oder in den Speicher geschrieben • Daemons im Cluster kommunizieren untereinander um Sessions zu teilen • Jede Session wird auf zwei Servern gespeichert  Master und Backup Server15 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  16. 16. Architektonischer Überblick16 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  17. 17. Speichern und Laden von Session Daten • Wird eine neue Session durch einen User gestartet, wird sie auf dem Server erstellt, der den Request erhalten hat • Dieser Server wählt einen Backup Server und kopiert die Session dorthin • Die Session ID hat ein spezielles Format: sie identifiziert den Master und Backup Server • Ein Request auf einem anderen Server als dem Master holt sich die Session Daten vom Master.17 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  18. 18. Normale Operation18 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  19. 19. Hochverfügbarkeit • Wenn der Master Server down ist…  Der den Request empfangende Server holt sich die Daten vom Backup Server  Der Backup Server bestimmt sich selbst zum neuen Master  Der Backup Server bestimmt einen neuen Backup Server • Wenn der Backup Server down ist…  Der Master Server bestimmt einen neuen Backup Server • Die Session ID wird angepasst19 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  20. 20. Failure Handling20 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  21. 21. Skalierbarkeit & Cloud-Fähigkeit • Session Clustering unterstützt ein Graceful Shutdown Mechanismus  Wenn eine Maschine down ist, transferiert sie alle Sessions zu einem anderen Server im Cluster  Alle Cluster Knoten nutzen den Replacement Server solange der Original-Server down ist  Dieser Prozess dauert in etwa 30 Sekunden • Graceful Shutdown erlaubt das Herunterfahren von Maschinen für Maintenance ohne Sessions zu verlieren • Scaling down + Scaling up  Cloud ready!21 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  22. 22. Tuning Tipps • Default Settings sind für die meisten Zwecke in Ordnung, aber… • Session Clustering in Amazon EC2:  zend_sc.ha.use_broadcast=0 • Umschalten auf Disk Storage:  zend_sc.storage.use_permanent_storage=122 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  23. 23. Wie geht es weiter? • Session Clustering Whitepaper:  http://zend.com/products/server-cluster-manager/resources • Download Zend Server und ZSCM – 30 Tage Version • Fragen? Email: jan@zend.com  Produktmanager: Shahar Evron (shahar.e@zend.com)  Twitter: @shevron, IRC: shevron in #zendserver on FreeNode  ZendCon in Santa Clara, CA, 1. – 4. Nov. 201023 Session Storage im ZSCM © All rights reserved. Zend Technologies, Inc.
  24. 24. Danke schön © All rights reserved. Zend Technologies, Inc.
  25. 25. WebinarDas Webinar kann hier angeschaut werden:http://www.zend.com/de/webinar/ZSCM/70170000000bIaI-Session-Storage-ZSCM-20100722_DE.flvoderhttp://bit.ly/q9Sofj(nach einer kurzen Registrierung) © All rights reserved. Zend Technologies, Inc.

×