Il progetto su cui sto lavorando si basa su più server che utilizza il bilanciamento del carico. Il problema è che non posso mantenere la sessione PHP attraverso tutti i server. Qual è il modo migliore per gestire la sessione su Load Balancer ...?Come mantenere la sessione su Load Balancer?
risposta
Posso pensare a questi due metodi per questo scopo.
- Utilizzare un server di applicazioni Web cluster in cui la sessione sono disponibili per tutti i server informazioni a livello di
- Usa IP per mantenere l'affinità tra un utente e un server
Dig il modo per memorizzare sessione all'interno DB che mantiene tutti i tuoi server multipli. I server ottengono sempre lo stesso _PHPSESSID
perché è stato scritto come cookie del dominio.
Quindi, se si conosce l'ID di sessione, si sa cosa interrogare dal DB che serve le sessioni.
SSL operativo & Load Balancer, è normale mettere SSL sul server di bilanciamento del carico, ma non sui server back-end. Quindi hai solo bisogno di un certificato su un server. Il servizio di bilanciamento del carico parla quindi con i server back-end utilizzando semplicemente HTTP. Ciò ovviamente richiede che i server back-end non siano direttamente accessibili da internet. Questo servizio di bilanciamento del carico è responsabile della decrittografia della richiesta, ma sarà anche in grado di ispezionare la richiesta di un jsessionid.
Che cosa ha a che fare SSL con la domanda? Come è stato possibile ottenere 4 upvotes? – ceejayoz
Le sessioni persistenti funzionano bene con "Apache" come bilanciamento del carico. Dovresti controllare Apache "mod_proxy" e "mod_proxy_balancer" –
È grandioso, ma la tua risposta non dice nulla sulle sessioni persistenti. – ceejayoz
Grazie muzammil, è utile, .. Penso che possiamo anche condividere le informazioni sulla sessione dell'utente in un database o un file system sui server delle applicazioni. –
felice di aiutare :) –